Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


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

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 one of the listed Shared Actions. See Shared Actions page for more information
  8. Click on Add to add the post-function to the transition.
Panel
titleRelated links
  • Placing post-functions in a transition
  • Use cases for the post-functions
  • Troubleshooting and Support page
  • WarningborderColorSilvertitle

    Known limitations

    Common

    common to all post-functions:

    Filter by label (Content by label)
    showLabelsfalse
    max5
    spacesKB
    showSpacefalse
    sorttitle
    typepage
    cqllabel = "common-issue" and type = "page" and space = "JMWEC"
    labelskb-troubleshooting-article

    Page Properties
    hiddentrue
    Related issues

    Panel
    titleRelated links


    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:

    Code Block
    languagegroovy
    linenumberstrue
    {% setContextVar myVar = "a value" %}

    This variable will then be available in subsequent post-functions as:

    Code Block
    languagegroovy
    linenumberstrue
    {{ transition.context.myVar }}

    (warning) 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:

    Code Block
    languagegroovy
    linenumberstrue
    {{ 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
    Code Block
    languagegroovy
    linenumberstrue
    {{ transition.context.newIssueKeys }}

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

    Code Block
    languagegroovy
    linenumberstrue
    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:

    Code Block
    languagejs
    linenumberstrue
    {{ 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:

    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:

        Code Block
        languagejs
        linenumberstrue
        {{ transition.context.newIssueKey }}


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

        Code Block
        languagejs
        linenumberstrue
        {{ issue | subtasks | length }}


      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

    To delay the execution of this post-function see Delayed execution.