Automatic actions

"Automatic actions" are intended for configuring specific automation, that is, for extending the built-in system actions. With them you can change artifact attributes, move them to another project, add a comment, or create a Task. An automatic action can call a network address and pass the required information, that is, call a so-called webhook — a link on another server. You can send an email to a specified address.

Automatic actions fire when the following events occur:

  • artifact creation
  • artifact change
  • comment creation
  • on a schedule

In addition, an automatic action can be bound to a specific transition or state in the lifecycle settings. You need to describe the condition under which this automatic action fires, and specify the changes that must be performed.

The execution order of automatic actions is determined by their numbering. Numbers can be changed on the edit form or by dragging rows in the action list.

On the tab "Change attributes" you can specify concrete values for the attributes that must be set when the automatic action is executed. For some fields, instead of a concrete attribute value, you can specify a formula by which that value will be selected, for example set the default priority:

Other examples of specifying formulas:

  • assign a Task to the Role "Analyst" — an example of a formula for the calculation: {project.Members?ProjectRole.Caption = "Analyst"}
  • assign a Task to the lead for a specific feature linked to the Issue's function — an example formula: {Function.Team.Lead}, where Team is a custom reference from the function to the Team.

To choose the mode in which the attribute value is specified, use the selector located to the right of the field for entering the attribute value (or formula).

Sending email

In the message text you can insert attributes and thus substitute the name, description, or other properties of the entity for which the automatic action was invoked.

Example: automatically closing stalled Requests

In the project settings, create a recurring job that will run every day:

As the event for the automatic action, select "On a schedule" and specify our recurring job "Every day" there. As the condition, set the state and the attribute "Time in state":

Example: changing the Request status when a comment is created

Create a new automatic action and specify "New comment" as the event. In addition, you can specify the conditions under which this action will fire. On the "Change attributes" tab, specify the new state of the Request or Issue.

Example: assign to the Author

Example: assign to the previous Assignee, with a given Role

When rejecting an incorrectly completed Task or Enhancement, you can automatically set as the Assignee the user who performed that Task or Enhancement before the check. In other words, for example, reject the Enhancement and assign it to the developer.

Switch value assignment to query format, instead of a concrete value (the selector to the right of the field being changed). Then enter a query that determines the value based on other attributes.

In this example, Lifecycle is the collection of the artifact's previous states, and the Assignee is saved in each of them. This makes it easy to find the Assignee, with a given Role, who previously took part in the artifact lifecycle.