Versions Compared

Key

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

A post-function that will link the current issue to all issues that satisfy a parameterized JQL query.

To add 'Link issues to the current issue' post-function to a transition: 

Click Edit for
  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 
  1. Functions in the properties panel.

  2. Click on Add post function.

  3. Select Link issues to the current issue from the list of post-functions.

  4. Click on Add

 to
  1.  to add the post-function on the transition.

Image Removed
  1. Add a JQL query in the JQL expression.

  2. Select the maximum number of issues in Max. Issues.

  3. Select the link type from the Issue Link Type drop-down.

  • Select the Options provided to add required parameters.
  • borderColorSilvertitle
    1. Click on Add to add the post-function to the transition.

    Warning
    Image Added

    Known limitations

    Common

    common to all post-functions:

    Filter by label (Content by label)
    showLabelsfalse
    max5
    spacesKB
    sorttitle
    showSpacefalse
    sorttitle
    typepage
    cqllabel = "common-issue" and type = "page" and space = "
    KB
    JMWEC"
    labelskb-troubleshooting-article
    Page Properties
    hiddentrue
    Related issues
    Info

    JMWE shows an error message on the issue view if any error occurs during the execution of the post-function. This message is displayed only if the current user is a Jira administrator. 

    When you add this post-function to a transition and trigger

    the transition

    it, the add-on links the current issue to

    all

    the specified number of issues that satisfy the specified parameterized JQL query.

    JQL Expression: Input a JQL expression that returns the issues to link. You can

    include Nunjucks annotations (to inject field values from the current issue) in your JQL expression

    insert issue, transition, currentUser and now variables in your JQL expression and test it using the JQL expression tester provided in this post-function.

    Examples:

    • project =

    TEST,
    • TEST returns the issues of the project whose key is TEST

    • assignee is EMPTY returns all the unassigned issues.

    • project=

     project = PSDF and reporter = {{currentUser.name}}

    JQL expression tester

    The JQL Expression tester lets you test your JQL expression against any issue. You can quickly test and debug your expression and make changes without having to actually trigger the transition look for the result.

    Using the JQL expression tester

    After writing your JQL expression, click on Test JQL expression. A window opens, asking you to input an issue to run the JQL expression. The issue variable used in your Nunjucks annotations will point to the selected issue.

    Testing your JQL expression

    After selecting an issue against which the JQL expression should be tested, click on Test. The following information will be displayed. This information can be used for debugging.

    1. Message: Success/error message based on the test result.

    2. Parsed JQL query: The parsed JQL query
    3. Issues: The result that is an array of issues.

    Example:

    Debugging your JQL expression

    Max. Issues: Input the  and the maximum number of issues that the JQL search should return. The value should not be more than 50.

    Link type
    • TEST order by created desc returns the issues of the project whose key is TEST in descending order by Created time

    Note: If the current issue satisfies the specified JQL query, an error is logged because you cannot link an issue with itself.

    Note that to specify a condition on a user, you need to specify an accountId without the accountId: prefix. For example: assignee = 557058:472c64c9-2567-4213-839b-86bf21558300. You can access the prefix-less accountId of a user through the _accountId property.

    Examples:

    Code Block
    languagejava
    project = {{ issue.fields.project.key }} and assignee = {{currentUser._accountId}}
    Code Block
    languagejava
    {% if issue.fields.assignee %}
        assignee = {{issue.fields.assignee._accountId}}
    {% else %}
        issuekey=INVALID-1
    {% endif %}

    You can find more information about searching for Jira issues using JQL here: Advanced searching and Search Jira like a boss with JQL.

    Max. Issues: Input the maximum number of issues that the JQL expression should return. The value cannot be more than 50.

    Filter: Select this option to filter the issues returned by the JQL search. Input a Nunjucks template in the “Filter Expression” that returns true if the issue returned by the JQL search should be linked to the current issue. The filter script is evaluated for each issue returned by the JQL search, in turn, and that issue is available through the targetIssue variable. This is especially useful when you want to filter linked issues that cannot be filtered using the JQL. For example, filtering issues refining a text search with an exact match that cannot be done with JQL. For example to check for issues with summary ~ "MacBook Pro" the JQL returns all issues with “MacBook” and “Pro” in the summary (say, “MacBook for Pro users”). In such a case, you should be using the “Filter Expression” to filter issues that have “MacBook Pro” in the summary with a Nunjucks template as follows:

    Code Block
    {{ issue.fields.summary.includes("MacBook Pro") }}

    Link type

    Issue Link Type: Select the link type to be created between the current issue and the issues returned from the JQL

    search.Customise this post-function using the additional options provided as part of the post-function. The options are:

    expression.

    Run As

    • Run as current user

    • : The current user will be the

    author
    • creator of

    the field change
    • the issue links.

    • Run as add-on user

    • : The add-on

    user will
    • user will be the

    author
    • creator of

    the field change
    • the issue links.

     
    • Run as this user

    • : Any user selected in this

    field will
    • field will be

    the author of the field change
    • the creator of the issue links.

    Conditional execution

    To execute this post-function based on the result of a Nunjucks template see Conditional executionThe condition is evaluated only after the JQL query runs and not before. It will be evaluated against each issue returned by the JQL query allowing you to further filter the issues to link to the current issue. The issues returned by the JQL query will be available in your Nunjucks template  through the linkedIssue variable. 

    Delayed execution

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

    Use case

    A typical use case for this post-function is to link issues to the current issue during a transition. Consider a use case where you want to link the stories created under an Epic as siblings. To configure this:

    1. Add the “Link issues to current issue” post-function to the Create issue post-function

    2. Input the following JQL expression:

      Code Block
      {% if issue.fields["Epic Link"] %}
          "Epic Link" = "{{issue.fields["Epic Link"]}}"
      {% else %}
          issuekey=INVALID-1
      {% endif %}

    3. Input “Max issues” as 10

    4. Select the link type as “is sibling of”

    5. Save the post-function

    6. Publish the workflow

    See here for more use cases