Set field value of related issues

A workflow post-function that sets the value(s) of a selected field of all issue's related to the current issue. The value can be either a constant, optionally including a Groovy template markup, or the result of the evaluation of a Groovy expression.

When you add this post-function to a transition and trigger it, the add-on sets the specified value(s) on the selected field of all issues related to the current issue through a selected link type. The value can be either a:

  • Constant or Groovy Template: You can set the field to a constant value optionally using Groovy Template markup to insert dynamic content. For example: To set the Description of the issue, you can specify This bug has been raised by <%=issue.get("reporter").getName()%> with <%=issue.get("priority").getName()%> priority. Act accordingly. in the value box.

  • Groovy expression: You can set the field to the result of a Groovy expression. For example, to set the Assignee to the Reporter of the issue, you can specify issue.get("reporter") in the value box.

See the Expected Value tab of the Groovy help editor or refer to the documentation to know more about the expected value in the above cases.

  • This post-function does not work with remote links (links to Jira issues residing on another Jira instance/server).

  • JMWE now considers "symmetrical" link types (such as "relates to") as one link direction instead of two on the configuration screens and in the post-function execution.

To add the 'Set field value of related issues' post-function to a transition:

  1. Click Edit for the workflow that has the transition you wish to configure 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 Set field value of related issues from the list of post-functions.

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

  7. Select the field from the Field drop-down.

  8. Select the issues to operate on from the Which issues(s) drop-down.

  9. Select the value type in the Value type drop-down.

  10. Input a value in the Value field based on the value type selected in step 9.

  11. Click on Add to add the post-function to the transition.

Which issue(s)

Select the issues to operate on. They can be:

  • Linked issues: Select issue(s) linked to the current issue through any link type or a specific link type such as blocks, is cloned by, etc.

  • Sub-tasks of the current issue: Select this option to operate on the sub-tasks of the current issue

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

  • Issues that belong to the current Epic: Select this option to operate on the issues that belong to the current Epic

  • Epic of the current issue: Select this option to operate on the Epic of the current issue

  • Child issues of the current issue in the Portfolio hierarchy: Select this option to operate on the child issues of the current issue in the Portfolio hierarchy

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

  • Issues returned by a Groovy script:  Input a Groovy script that returns either a single Issue object, or a Collection of Issue objects, or a String representing the key of an issue, or a Collection of Strings each representing an issue key. For example:

    • "TEST-1"

    • ["TEST-1","TEST-2"]

    • ComponentAccessor.issueManager.getIssueObject("TEST-1")

    • [ComponentAccessor.issueManager.getIssueObject("TEST-1"),ComponentAccessor.issueManager.getIssueObject("TEST-2")]

    • issue.parentObject

    • issue.getLinkedIssues()

  • Issues returned by a JQL search:  Input a JQL search expression, including an optional Groovy Template markup. For example:

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

    • project = ${issue.get("project").key} and assignee = ${} returns issues of the project the current issue belongs to and assigned to the current user.

    • To operate on issues of a project with key TEST and issue type name same as the value in a text field

      <% if (issue.get("Single line text")) { %> project = TEST and issuetype = ${issue.get("Single line text")} <% } else { %> issuekey=INVALID-1 <% } %>
  • Note that the <% if %> block is necessary to avoid an invalid JQL query when the Single-line text field is empty. In that case, the template will return a valid JQL query that returns no issue (issuekey=INVALID-1). This is in general applicable to JQL operating on select type fields with pre-determined values like Affects Version/s, Checkboxes etc.

  • The maximum number of issues returned by a valid JQL is limited to 1000.


  • Set only if empty: Sets the value of the selected field on all related issues only if the field is empty on the related issues.

  • Ignore empty values: Will not set (clear) the selected field of related issue(s), if Value is empty or null.

  • Add source value(s) to destination field: Appends the specified value(s) to the selected field of all the related issues. This is applicable only to multi-valued fields.

  • Create missing value(s): Allows automatically creating any missing value(s) while setting a field value of related issue(s). This is applicable only to Affects Version/s, Fix Version/s, Single version and Multi-version picker type custom fields, Components, Radio buttons, Checkboxes, Single select and Multi-select list type custom fields.

Run as

Run as user: Select one of the following options to set the author of the action performed by this post-function as:

  • Current user: The user transitioning the issue.

  • Specific user: The user specified in the select-list provided. Start typing into the field to select a user from the list of auto-suggestions.

  • User in field: The user specified in a user picker field of the issue being transitioned. Select one of the user fields from the list of available options in the field provided.

  • User from script: The user returned by the Groovy script specified in Script. This script should return either the Username of the user or an ApplicationUser object.


    • "jdoe" - Username

    • issue.get("assignee") - the current issue's Assignee

Conditional execution

Error Handling


You are viewing the documentation for Jira Server / Data Center.