When you add this post-function to a transition and trigger the transition, the add-on sets one or more field values of the target issue(s) as configured. The values can be provided either as text (with optional Nunjucks annotations) or as a JSON object.
Text - can be a simple string (for text typed fields), the string representation of a number, date, or boolean value, or the string representation of a complex value, such as a Version name, a username, a Project key, etc. Multiple values can be separated by commas. You can also use Nunjucks annotations to insert issue, transition, and current user information into the value, using the
issue
,transition
, andcurrentUser
variables, respectively.JSON value - requires the option
Treat value as JSON
(explained here), it can be a String, a Number, a Boolean, or an Object. It can also be an array of such values.
To find out more about the type of value expected by this post-function for different field types, see Expected value for each field type.
Issue(s) to operate on
Target Issue(s): Use this to select the target issue(s) on which the selected field(s) needs to be set. Select one of the following:
Current issue: Sets the value of the selected field(s) on the current issue. (Default option)
Sub-tasks of the current issue: Sets the value of the selected field(s) on the sub-tasks of the current issue.
Parent of the current sub-task: Sets the value of the selected field(s) on the parent of the current issue
Issues that belong to the current issue (Epic): Sets the value of the selected field(s) on the issues that belong to the current Epic.
Epic of the current issue: Sets the value of the selected field(s) on the Epic of the current issue.
Child issues of the current issue in the Portfolio hierarchy: Sets the value of the selected field(s) on the child issues of the current issue in the Portfolio hierarchy.
Parent issue of the current issue in the Portfolio hierarchy: Sets the value of the selected field(s) on the parent issue of the current issue in the Portfolio hierarchy.
Issues linked to the current issue through any link type: Sets the value of the selected field(s) on all issues linked to the current issue.
Issues linked to the current issue through the following link type: Sets the value of the selected field(s) on issues linked to the current issue through a specific link type.
Issue Link (displayed only when the previous option is selected): Select an issue link type from the drop-down.Issues returned by the following Nunjucks template: Sets the value of the selected field(s) on the issues returned by the result of a Nunjucks template. Enter a Nunjucks template, which is a comma-separated list of valid issue keys.
For example:"TEST-1"
"TEST-1","TEST-2"
{{ issue.fields.parent.key }}
{{ issue.fields.subtasks | join(",", "key") }}
Issues returned by the following JQL search: Set the value of the selected field(s) on the issues returned by a JQL search. Enter a JQL search expression.
For example:project = TEST
returns issues of the project with the key TESTproject = {{ issue.fields.project.key }} and assignee = {{currentUser._accountId}}
returns issues of a project that belong to the project with key TEST and the assignee is the current user{% if issue.fields.assignee %} assignee = {{issue.fields.assignee._accountId}} {% else %} issuekey=INVALID-1 {% endif %}
The {% if %} block is necessary to avoid an invalid JQL query when the issue is unassigned. In this case, the template returns a valid JQL query that returns no issue (issuekey=INVALID-1
).
Set Fields
Add Field(s): Select one or more fields from the drop-down to add them to the panel below, where you can set:
Value: Enter a value to be assigned to the respective field in the target issue using a Nunjucks template. See Using Nunjucks Templates, to know more about adding dynamic content such as issue, transition, or user information to the selected field.
Option: Select one or more options to check the specified target field value(s) as specified and set the value accordingly. Available options:
Treat value as JSON: Sets the respective field value(s) from a JSON object or an array of objects. It considers the
Value
in the value template and parse it like a JSON string into a JavaScript object. This will be passed back to Jira as the value of the field. To learn about the JSON value expected by the post-function, see Expected value for each field type.Set only if field is empty: Sets the value of the selected field only if the field in the target issue(s) is empty.
Create missing value(s): Allows creating any missing component(s) or version(s) while setting a field that expects Versions or Components. This is applicable for version and component fields.
Ignore empty value: Does not set (clear) the selected field, if the value is empty or null.
Append value(s) to the field: Appends the specified value(s) to the selected field of the current issue. This is applicable only to multi-valued fields.
Click Add
to add the respective field to the list of fields to be set using the post function. You can edit or delete a field using the edit
or delete
icons of the respective field.
Global options
Send notifications: Jira sends notifications for the change in the values of the selected field(s) on the target issue(s). You can control the default value of the
"Send notifications"
option in the Configuration page under JMWE administration. Click here for more information.Conditional Execution
Run this post-function only if a condition is verified: Select this option to run this post-function based on the result of a Nunjucks template (see Conditional execution). The condition mentioned here is evaluated for each target issue.Run As: Select one of the following:
Run as current user: To set the current user as the author of the field change.
Run as add-on user: To set the add-on user as the author of the field change. (Default option)
Run as this user: To set any user selected in this field as the author of the field change.
Running this post-function as any user other than the "Add-on user" is discouraged
If you select any option other than "Run as add-on user", so that the change appears to be done by the current user or a specific user, the following must be true:
The destination field must be present on the Edit screen applicable to the issue being modified
The selected user must have the Edit issues permission on the issue being modified
Delayed execution
Post functions are provided with an option to delay execution for a set number of seconds using the Delayed execution option (Figure 1, right). To delay execution, select the number of seconds to wait until the post-function is run; any value between 1 second (the default) up to a maximum of 20 seconds can be selected.
Workflows that depend on post functions being executed in a specific order can fail due to the asynchronous nature of Connect post-functions in Jira Cloud. One workaround is to delay the execution of a post-function, thereby creating a more predictable execution order. For example, on the approval of a Story you want to create sub-tasks and immediately transition them; in this case, you will have to delay the execution of the Transition Linked Issues post-function, so that the sub-tasks are created before they are transitioned. See the sample use case, below.
Where possible, it is recommended to use the Sequence of post-functions post-function or Shared action post-function to execute a series of post-functions in a specific sequence instead of applying a delay.
JMWE shows an error message on the issue view if any error occurs during the execution of the post-function. This message is only displayed if the current user is a Jira administrator.