❗️

Webhook plugin is deprecated.

Please use the Automation Rules feature instead, unless you're on the old Targetprocess version (older than Targetprocess v3.13.0) or on a local On-Site installations.

This article describes Filters that you can use in your webhooks.

Fields available in filters

  • For Targetprocess 3.5.4 – 3.8.0 you can use only fields common for all the entities
  • For Targetprocess 3.8.1+ you can use any of the native fields
  • For Targetprocess 3.8.2+ you can even use Custom Fields

📘

Full list of available fields

Nested collections (e.g. Comments) are not supported.

Available operators

Operator

Sample

Equality

Name == "My Name"
Effort == 5
Billable == "True"
OpenChildrenCount == "0" (for custom fields)

Not equality

Name != 'My Name'

Greater than

Effort > 10

Greater than or equal

Effort >= 10

Less than

Effort < 10

Less than or equal

Effort <=10

In list

ProjectID in [79164, 70716]

Not in list

not (LastCommentUserID in [15388, 29002])

Contains

Name.Contains("test")

Not contains

not Name.Contains("test")

Is null

ModifyDate == null

Is not null

ModifyDate != null

🚧

Filters are case sensitive

If your priority is called Must Have, here is what result you will have with the following filters:

  • PriorityName == “Must Have” ---> true
  • PriorityName == “Must have” ---> false

Combining several condition

You can use the following expressions to combine several conditions:

  • and
  • or
ProjectName == “New Project” and (PriorityName == “Must Have” or PriorityName == “Great”)

Filtering by Date field value

CreateDate >= DateTime.Today.AddDays(-7)
EndDate < Convert.ToDateTime("2016-01-01")

Filtering by Boolean / Checkbox field value

Billable == "True"
Billable == "False"
CanBeClosed != "True"
CanBeClosed != "False"

Filtering by Custom Field values

Most of the custom fields can be accessed by their name.

TargetBuild == "4"
ApprovedBy == null
Browser.Contains("Chrome") or Browser.Contains("FF")

The name is not case sensitive.

However, there are several exceptions:

If the name of the custom fields contains spaces, all the spaces should be skipped:

ToBeFixed == "True"
ChangedFields.Contains("ToBeFixed")
ChangedFields.Contains("ToBeFixed") and ToBeFixed == "True"

If a custom field name matches the name of any native fields available in Webhooks, it should have a prefix cf_:

cf_IterationName == "test"

🚧

Calculated Custom Fields are not supported

In webhooks please use 'system' custom fields filled in by Metrics instead of Calculated Custom Fields.

If you're using an Update trigger you can compare the current custom field value with the previous custom fields value using the previous object:

TargetBuild != previous.TargetBuild

🚧

Custom Field values have text / string type

Custom fields are stored as strings, so please use proper syntax in comparison:

  • TotalEffortOfTasks == 0 - not supported
  • TotalEffortOfTasks == "0" - works
  • TotalEffortOfTasks > 5 - not supported
    Operation for numbers or any other data types are not supported.

More details on Custom Fields usage in webhooks can be found here: Working with Custom Fields