Versions Compared

Key

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


Note

Documentation for

Status
colourYellow
titleJMWE 5.0.0 - 6.1.3
is available here.


Excerpt

A workflow post-function

that

that copies the value

(s)

of a

selected

field

into the same field of

to all related issues

linked to the current issue through a selected link type.

(such as linked issues, Stories of an Epic, Epic of a Story, subtasks of an issue, issues returned by a Groovy script or a JQL search, etc.)


Note
  • 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 'Copy field value to

linked

related issues' post-function to a transition:

  1. Click 
Edit for
  1. 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 Copy field value to
linked
  1. related issues from the list of post-functions.
  2. Click on Add to add the post-function on the transition.
Image Removed
  1. Select the field from the
Field
  1. source field from the Source Field drop-down.
  2. Select the
link
  1. field from the
 Issue Link 
  1. destination field from the Destination Field drop-down
, or leave it as Any for any link type other than Issue/Subtask, Epic/Story and Jira Portfolio hierarchy.
  1. Select "Same as Source field" to copy it to the same field.
  2. Select the issues to operate on from Source issue(s) field
  3. Select the options provided to add required parameters.
  4. Click on Add to add the post-function to the transition.


Panel

Related links :

For information on where the needs to be placed on a transition, see Refer to the Use cases for post-functions page for use cases for this post-function.

Image Added

When you add this post-function to a transition and trigger the transition, the add-on copies the value(s) of the selected source field into the same destination field value of all the related issues.

Target issue(s)

Select the issues to copy to. They can be:

  • Linked issues: Select issue(s) linked to the current issue through

the selected link type. Info
title"Relates to" link type
Beware of the default "relates to" link type, which can cause confusion. The problem stems from the fact that "relates to" is both the inward direction and the outward direction of the "Relates" link type. We recommend that you rename one of the directions to "is related to" to avoid confusion. This can be done on the Issue Linking Jira admin page
  • 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 = ${currentUser.name} 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

      Code Block
      <% if (issue.get("Single line text")) { %>
          project = TEST and issuetype = ${issue.get("Single line text")}
      <% } else { %>
          issuekey=INVALID-1
      <% } %>


Note
  • 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.

Options 

  • Copy only if not set

Copies the value(s) of the selected field into the same field of all the linked related issues, only when the field is empty on the linked related issue(s).

  • Ignore empty values

Will not set (clear) the selected field of the linked related issues, if the value from the current issue is empty or null.

  • Add source value(s) to destination field

Appends the value(s) of the selected field to the same destination field of all the linked related issues. This is applicable only to multi-valued fields.

  • Create missing value(s)

Allows automatically creating any missing value(s) while copying values that do not exist in the destination issue's project and hence should be created from the source issue's project. 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

Any user specified in this field will be the author of the copy performed by the post-function. Leave it blank for the current user to be the author.

Conditional execution

The Epic of an issue by using the built-in is Epic of link type and vice-versa using the has Epic of link type

To execute this post-function based on the result of a groovy expression Input a Groovy expression that returns true if the post-function should run. For more information see Conditional execution /validation using a Groovy expression.

Info

Note that you can use this function to copy a field from,

  • The parent issue of a sub-task by using the built-in is Parent of link type and vice versa using the is subtask of link type
  •  Note that the condition will be evaluated once per applicable related issue, with each related issue being available, in turn, in the relatedIssue and deprecated linkedIssue variables.

    Error Handling

    By default, all errors (Java Exceptions) raised by this post-function, including those raised by custom Groovy scripts, will be logged in the JIRA log file but will not be reported to the user and will not prevent the transition from completing. However, when designing new workflows or troubleshooting them, it is more convenient to be notified immediately of any such error during the execution of the transition. For example on the production Jira instances you might want to show errors only for the post-function(s) being worked on, in order to avoid disrupting other workflows. To make errors raised by the current post-function prevent the transition from completing and show the error in the browser, select Make transition fail when an error occurs in this post-function.

    If you want to show all the errors, either only to the admins or to all users, configure the option globally on the JMWE configuration page. For example, on development and staging Jira instances, you can activate error reporting for all JMWE post-functions, to display all the errors and it is recommended to do so, and on production Jira instances you might want to activate error reporting only to administrators so that they can be made aware of configuration errors.

    Note

    When the option is selected on a post-function, it overrides the configuration on the JMWE configuration page.