To add the 'Shared Action' post-function to a transition:
- Click Edit for the workflow that has the transition, you wish to add the post-function on.
- In the Workflow Designer, select the transition.
- Click on
Post Functions
in the properties panel. - Click on
Add
post function
. - Select
Shared Action post-function
from the list of post-functions. Click on
Add
to add the post-function on the transition.- Select one of the listed Shared Actions. See Shared Actions page for more information
- Click on
Add
to add the post-function to the transition.
Known limitations common to all post-functions:
When you add this post-function to a transition and trigger it, the add-on runs the sequence of post-functions defined in the selected shared action.
Passing variables within a sequence
Using the {% setContextVar %}
Nunjucks tag, you can pass data from one post-function to all subsequent post-functions.
transition.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:
{% setContextVar myVar = "a value" %}
This variable will then be available in subsequent post-functions as:
{{ transition.context.myVar }}
Note that this variable will not be available in the Nunjucks tester.
Variables specific to the Create Issue(s) 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:
{{ transition.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{{ transition.context.newIssueKeys }}
For example: to add a comment on the current issue with the keys of the issue created
Issues created are: {{ transition.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:
{{ transition.context.newIssueKey | issue("assignee") | field("fields.assignee.displayName") }}
For example, consider a use case where you want to clone an issue and its subtasks to another project, then:
- Navigate to the Jira Settings → Apps → Shared actions
- Click on "Shared actions"
- Click on "New shared action"
- Add a name "Clone ticket and its subtasks" and an optional description
- Click on "Add post-function"
- Select the "Create issue" post-function.
- Select the destination project in "Project"
- Select the "Link to new issue" as "clones"
- Configure the fields
- Click on Save
- Click on "Add post-function"
- Select "Create issue" post-function to clone the sub-tasks
- Select the destination project in "Project"
- Select the "Issue type" as "Subtask"
Under the "Parent issue" input the following template:
{{ transition.context.newIssueKey }}
Select "Multiple issue creation" option and input the following template:
{{ issue | subtasks | length }}
- Save the post-function.
- Click on "Save"
- Go to the workflow editor, pick the transition and add the "Shared action" post-function
- Select "Clone ticket and its subtasks"
- Click on "Add"
- Publish the workflow
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.
Delayed execution
To delay the execution of this post-function see Delayed execution.