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 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
Link issues to the current issue
from the list of post-functions.Click on
Add
to add the post-function on the transition.
Add a JQL query in the
JQL expression
.Select the maximum number of issues in
Max. Issues.
Select the link type from the
Issue Link Type
drop-down.
Options
provided to add required parameters.Click on
Add
to add the post-function to the transition.
Known limitations
common to all post-functions:
Filter by label (Content by label) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|
|
hidden | true |
---|
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
it, the add-on links the current issue to
the specified number of issues that satisfy the specified parameterized JQL query.
Issues to link
JQL Expression:
Input a JQL expression that returns the issues to link
. You can 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 =
Customise this post-function using the additional options provided as part of the post-function. The options are:
Options
- Treat value as JSON
Sets the field value from a JSON object or array of objects. It will take the Value
in the value template and parse it like a JSON string into a JavaScript object. This will be passed back to JIRA as the value of the field. To learn about the JSON value expected by the post-function, see Expected value for each field type.
- Copy only if not set
Sets the value of the selected field on all linked issues only if the field is empty on the linked issues.
- Create missing value(s)
Allows creating any missing Component/s or Version/s while setting or copying a field that expects Versions or Components. Note this is applicable for version and component fields.
- Add value(s) to the linked issue
Appends the specified value(s) to the selected field of all the linked issues. This is applicable only to multi-valued fields.
- Send notifications
JIRA sends notifications for the change in the selected field value on the linked issue(s). You can control the default value of the "Send notifications"
option in the Configuration page under JMWE administration. Click here for more information.
Conditional execution
To execute this post-function based on the result of a Nunjucks template see Conditional executionTEST
returns the issues of the project whose key is TESTassignee is EMPTY
returns all the unassigned issues.project=TEST order by created desc
returns the issues of the project whose key isTEST
in descending order byCreated
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 | ||
---|---|---|
| ||
project = {{ issue.fields.project.key }} and assignee = {{currentUser._accountId}} |
Code Block | ||
---|---|---|
| ||
{% 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 expression.
Run As
Run as current user
: The current user will be the
creator of
the issue links.
Run as add-on user
: The add-on
user will be the
creator of
the issue links.
Run as this user
: Any user selected in this
field will be
the creator of the issue links.
Conditional execution
To execute this post-function
If you select any option other than "Run as add-on user", so that the change appears to be done by the current user or a specific user, the following must be true:
- The destination field must be present on the Edit screen applicable to the issue being modified
- The selected user must have the Edit issues permission on the issue being modified
Delayed execution
To delay the execution of this post-function see Delayed execution.
Note that you can use this function to set the value of a field:
is Subtask of
link type and vice versa using the is Parent of
link typebelongs to Epic
link type and vice-versa using the is Epic of
link typebased on the result of a Nunjucks template see Conditional execution. The 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 | ||||
---|---|---|---|---|
|
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:
Add the “Link issues to current issue” post-function to the Create issue post-function
Input the following JQL expression:
Code Block {% if issue.fields["Epic Link"] %} "Epic Link" = "{{issue.fields["Epic Link"]}}" {% else %} issuekey=INVALID-1 {% endif %}
Input “Max issues” as 10
Select the link type as “is sibling of”
Save the post-function
Publish the workflow
See here for more use cases