❗️

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

OperatorSample
EqualityName == "My Name"
Effort == 5
Billable == "True"
OpenChildrenCount == "0" (for custom fields)
Not equalityName != 'My Name'
Greater thanEffort > 10
Greater than or equalEffort >= 10
Less thanEffort < 10
Less than or equalEffort <=10
In listProjectID in [79164, 70716]
Not in listnot (LastCommentUserID in [15388, 29002])
ContainsName.Contains("test")
Not containsnot Name.Contains("test")
Is nullModifyDate == null
Is not nullModifyDate != 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

665

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