Infonote |
---|
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. |
When you add this post-function to a transition and trigger it, each post-function defined in the sequence is run, one after the other on the target issues.
Issue(s) to operate on
Select the issues on which the sequence of post-functions should be run. They can be:
Current issue:Issue(s) to operate on
Select the issues on which the sequence of post-functions should be run.
Target issue(s)
Current issue - Select this option to run the sequence of post-functions on the current issue. This is the default option.
Issue/Subtasks
Sub-tasks of the current issue - Select this option to run the sequence of post-functions on the sub-tasks of the current issue
Parent issue of the current sub-task - Select this option to run the sequence of post-functions on the parent of the current issue
Epic/Stories
Issues that belong to the current issue (Epic) - Select this option to run the sequence of post-functions on the issues that belong to the current Epic
Epic of the current issue - Select this option to run the sequence of post-functions on the Epic of the current issue
Issue Hierarchy
Child issues of the current issue in the Portfolio hierarchy - Select this option to run the sequence of post-functions on the child issues of the current issue in the Portfolio hierarchy
Parent issue of the current issue in the Portfolio hierarchy - Select this option to run the sequence of post-functions on the parent issue of the current issue in the Portfolio hierarchy
Issue Links
Issues linked to the current issue through any link type - Select this option to run the sequence of post-functions on all issues linked to the current issue
Issues linked to the current issue through the following link type - Select this option to run the sequence of post-functions on the linked issues of a specific link type. Select the specific link type under “Issue link”
Calculated
Current issue - Select this option to run the sequence of post-functions on the current issue. This is the default option.
Issue/Subtasks
Sub-tasks of the current issue
- Select this option to run the sequence of post-functions on the sub-tasks of the current issue
Parent issue of the current sub-task
- Select this option to run the sequence of post-functions on the parent of the current issue
Epic/Stories
Issues that belong to the current issue (Epic)
- Select this option to run the sequence of post-functions on the issues that belong to the current Epic
Epic of the current issue
- Select this option to run the sequence of post-functions on the Epic of the current issue
Issue Hierarchy
Child issues of the current issue in the Portfolio hierarchy
- Select this option to run the sequence of post-functions on the child issues of the current issue in the Portfolio hierarchy
Parent issue of the current issue in the Portfolio hierarchy
- Select this option to run the sequence of post-functions on the parent issue of the current issue in the Portfolio hierarchy
Issue Links
Issues linked to the current issue through any link type
- Select this option to run the sequence of post-functions on all issues linked to the current issue
Issues linked to the current issue through the following link type
- Select this option to run the sequence of post-functions on the linked issues of a specific link type. Select the specific link type under “Issue link”
Calculated
Issues returned by the following Nunjucks template
- Select this option to run the sequence of post-functions on issues returned by the result of a Nunjucks template. Input a Nunjucks template which is a comma-separated list of valid issue keys. For example:
"TEST-1"
"TEST-1","TEST-2"
{{ targetIssue.fields.parent.key }}
{{ targetIssue.fields.subtasks | join(",", "key") }}
Issues returned by a JQL search: Select this option to run the sequence of post-functions on issues returned by a JQL search. Input a JQL search expression. For example:
project = TEST
returns issues of the project with the key TESTproject = {{ targetIssue.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 userCode Block {% if targetIssue.fields.assignee %} assignee = {{targetIssue.fields.assignee._accountId}} {% else %} issuekey=INVALID-1 {% endif %}
Note
:the {% if %}
block is necessary to avoid an invalid JQL query when the issue is unassigned. In that case, the template will return a valid JQL query that returns no issue (issuekey=INVALID-1
).
Post-functions
Create the ordered list of post functions to be run against the selected issue. The following controls are available (Figure 2, right):
Click Add post function to add a post function to the list.
To reorder post functions, use the handle ( ) to drag and drop a post function to its new position in the order.
Click Edit to edit an existing post function.
Click Remove to completely remove a post function from the sequence.
Note: this cannot be undone!
Error handling
By default, even if one of the post functions fails with an error, the remaining post functions in the sequence will still run. To stop the execution of subsequent post functions after an error occurs, select the option Skip subsequent post-functions if a post-function encounters an error.
Conditional execution
Include Page | ||||
---|---|---|---|---|
|
Delayed execution
Include Page | ||||
---|---|---|---|---|
|
Passing variables within a sequence
Using By using the {% setContextVar %}
Nunjucks tag you can pass data from one post - function to a to a subsequent post - function.
context
: Holds all the context variables added in the current post-function. For example, if you create a context variable myVar
in the first post-function of the sequence:
Code Block | ||
---|---|---|
| ||
{% setContextVar myVar = "a value" %} |
This variable will then be available to subsequent post-functions as:
Code Block | ||
---|---|---|
| ||
{{ context.myVar }} |
Note |
---|
Note: this variable will not be available in the Nunjucks tester. |
Variables specific to the Create Issue post-function
newIssueKey:
Stores the issue key of the last issue created by a Create Issue(s) post-function in the sequence. You can access it as:
Code Block | ||
---|---|---|
| ||
{{ context.newIssueKey }} |
newIssueKeys:
Stores an array of the keys of all the issues created by any Create Issue(s) post-function in the sequence. You can access the created issues from
Code Block | ||
---|---|---|
| ||
{{ context.newIssueKeys }} |
For example: to add a comment on the current issue with the keys of the issue created
Code Block | ||
---|---|---|
| ||
Issues created are: {{ context.newIssueKeys | join(",") }} |
You can access the information of a specific issue using the issue filter. For example: To get the assignee of the issue created by the Create issue post-function:
Code Block | ||
---|---|---|
| ||
{{ context.newIssueKey | issue("assignee") | field("fields.assignee.displayName") }} |
Error handling
If one of the post-functions fails with an error, the remaining post-functions in the sequence are run anyway. To stop the execution of subsequent post-functions after an error occurs, select the option “Skip subsequent post-functions if a post-function encounters an error”.
Conditional execution
To execute this post-function based on the result of a Nunjucks template see Conditional execution.