Our new Appfire Documentation Space is now live!

Take a look here! If you have any questions please email support@appfire.com

Shared Action post-function

A post-function that runs an Action (a sequence of one or more JMWE post-functions), created in the Shared Actions page, on the current issue or issues related to the current issue.

To add the 'Shared Action' post-function to a transition:Ā 

  1. ClickĀ EditĀ for the workflow that has the transition, you wish to add the post-function on.

  2. In the Workflow Designer, select the transition.

  3. Click onĀ Post FunctionsĀ in the properties panel.

  4. Click onĀ Add post function.

  5. SelectĀ Shared Action post-functionĀ from the list of post-functions.

  6. Click onĀ AddĀ to add the post-function on the transition.

    Ā 

  7. Select the ā€œTarget issueā€ (see below)

  8. Select one of the listed Shared Actions. See Shared Actions pageĀ for more information

  9. Click onĀ AddĀ to add the post-function to the transition.

Known limitations common to all post-functions:



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, the add-on runs the sequence of post-functions defined in the selected shared action on the target issues.

Issue(s) to operate on

Select the issues on which the shared action should run. They can be:

  • Current issue: Select this option to run the shared action on the current issue. This is the default option.

  • Sub-tasks of the current issue: Select this option to run the shared action on each sub-task of the current issue

  • Parent issue of the current sub-task: Select this option to run the shared action on the parent of the current issue

  • Issues that belong to the current issue (Epic): Select this option to run the shared action on each issue that belongs to the current Epic

  • Epic of the current issue: Select this option to run the shared action on the Epic of the current issue

  • Child issues of the current issue in the Portfolio hierarchy: Select this option to run the shared action on each child issue of the current issue in the Portfolio hierarchy

  • Parent issue of the current issue in the Portfolio hierarchy: Select this option to run the shared action on the parent issue of the current issue in the Portfolio hierarchy

  • Issues linked to the current issue through any link type: Select this option to run the shared action 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 shared action on the linked issues of a specific link type. Select the specific link type under ā€œIssue linkā€

  • Issues returned by the following Nunjucks template:Ā Ā Select this option to run the shared action on the 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"

    • {{ issue.fields.parent.key }}

    • {{ issue.fields.subtasks | join(",", "key") }}

  • Issues returned by a JQL search: Select this option to run the shared action on issues returned by a JQL search. Input a JQL search expression. For example:

    • project = TEST returns issues of the project with the key TEST

    • project = {{ 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 %}

      Note that 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).

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:

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

For example: to add a comment on the current issue with the keys of the issue created

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:

For example, consider a use case where you want to clone an issue and its subtasks to another project, then:

  1. Navigate to the Jira Settings ā†’ Apps ā†’ Shared actions

  2. Click on "Shared actions"

  3. Click on "New shared action"

  4. Add a name "Clone ticket and its subtasks" and an optional description

  5. Click on "Add post-function"

  6. Select theĀ "Create issue" post-function.

    1. Select the destination project in "Project"

    2. Select the "Link to new issue" as "clones"

    3. Configure the fields

    4. Click on Save

  7. Click on "Add post-function"

  8. Select "Create issue" post-function to clone the sub-tasks

    1. Select the destination project in "Project"

    2. Select the "Issue type" as "Subtask"

    3. Under the "Parent issue" input the following template:

    4. Select "Multiple issue creation" option and input the following template:

    5. Save the post-function.

  9. Click on "Save"

  10. Go to the workflow editor, pick the transition and add the "Shared action" post-function

  11. Select "Clone ticket and its subtasks"

  12. Click on "Add"

  13. 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