Besides system actions on project artifacts, you can create custom actions. This can be a call to an external webhook or a PHP script. This way you can implement any additional action needed to automate your software development process.
For example, for a build you can configure the custom action "Deploy", as a result of which a Jenkins job for deployment is started.
In the URL and the Message you can use substitutions of the form
{{Caption}}
and so on, which will be replaced with the real values of the artifact for which the action is performed. The substitution syntax is the same as the one used when defining formulas for calculated fields. You can find the list of fields in the "Developer reference".
The "Filter for display" parameter lets you specify a search query that is applied to the artifact for which the context menu is built. If the query is specified and succeeds, the custom action is added to the context menu. If the query does not succeed, the action is not in the menu.
This can be used to organize conditional display of a custom action in the context menu for an artifact. For example, the custom action "Run" is relevant only for an automated scenario. Or the action "Retest" is relevant only for an automated test, and not for a test recorded as a result of manual testing.
You can specify parameters for a custom action. If there are parameters and the custom action is executed, the system opens a modal window to ask the user for the parameter values for this custom action, for example:
You can use simple scalar types, or references to system entities or custom reference lists.
The parameter reference name can then be used to use the values specified by the user, for example to substitute a value into the webhook address or body, as if the entity had an additional attribute. The reference name can be used in the related PHP script, thus passing the required user data into the script; see the example: Custom Lookups.