Versions Compared

Key

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

A workflow post function that allows you to copy the values of one or more field values fields from the current issue or related issue(s) or a set of filtered issues to any issue as neededthe specified destination issue(s).

To add the 'Copy issue fields' 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  Post Functions Functionsin the properties panel.

  4. Click  Add post function.

  5. Select Copy issue fields from the list of post functions.

  6. Click  Add to navigate to the Copy issue fields post-function screen where you can configure the post function as needed. See Click here for more details.

  7. Click Add to add the post-function to the transition.

After adding, move the post-function to the appropriate position according to Placing post-functions in a transition document.

Click here for a sample use case.

Known issues 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

Troubleshooting this post-function configuration: In case the post-function does not work as expected these are the things to look out for

Filter by label (Content by label)
showLabelsfalse
max5
spacesKB
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ( "related-issues-mistakes" , "placing-postfunctions" , "troubleshooting" ) and type = "page" and space = "JMWEC"
labelskb-troubleshooting-article

Configuration details

Configure the following details in the Copy issue fields post-function screen:

Issue(s) to operate on

  • Source Issue(s): Select the issues from which the specified field(s) from the Fields to copy section are copied. Select one of the following:

    • Current issue: Select this option to set copy the value of the selected field on (s) from the current issue. This is the default option.

    • Sub-tasks of the current issue: Select this option to set copy the value of the selected field on (s) from the sub-tasks of the current issue.

    • Parent of the current sub-task: Select this option to set copy the value of the selected field on (s) from the parent of the current issue.

    • Issues that belong to the current issue (Epic): Select this option to set copy the value of the selected field on (s) from the issues that belong to the current Epic.

    • Epic of the current issue: Select this option to set copy the value of the selected field on (s) from the Epic of the current issue.

    • Child issues of the current issue in the Portfolio hierarchy: Select this option to set copy the value of the selected field on (s) from 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 set copy the value of the selected field on (s) from the parent issue of the current issue in the Portfolio hierarchy.

    • Issues linked to the current issue through any link type: Select this option to set copy the value of the selected field on (s) from all the issues linked to the current issue.

    • Issues linked to the current issue through the following link type: Select this option to set copy the value of the selected field on (s) from the issues linked to the current issue through a specific link type. Select the specific link type under “Issue link”.

    • Issues returned by the following Nunjucks template: Select this option to set copy the value of the selected field on (s) from the issues returned by the result of a Nunjucks template. Input  Enter a Nunjucks template, which is a comma-separated list of valid issue keys. For example:

      • "TEST-1"

      • "TEST-1","TEST-2"

      • {{ issue.fields.parent.key }}

      • {{ issue.fields.subtasks | join(",", "key") }}

    • Issues returned by the following JQL search: Select this option to set copy the value of the selected field on (s) from the issues returned by a JQL search. Input  Enter a JQL search expression. For example:

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

      • project = {{ issue.fields.project.key }} and assignee = {{currentUser._accountId}} returns the issues of a project that belong belonging to the same project with key TEST and the assignee is as the current issue that are assigned to the current user

      • Code Block
        {% if issue.fields.assignee %}
            assignee = {{issue.fields.assignee._accountId}}
        {% else %}
            issuekey=INVALID-1
        {% endif %}
        

Note that the {% if %} block is necessary to avoid an invalid JQL query when the issue is unassigned. In that case, the template will return a valid JQL query that returns no issue (issuekey=INVALID-1).

  • Destination Issue(s): Select the issues to which the specified field(s) from the Fields to copy section are copied. The options available here are the same as those from Source Issue(s).

Note

Ensure the number of source issues times the number of destination issues does not exceed a limit of 1000 issues. In such a scenario, the post function will be not run and an error will be logged.

Fields to copy

This section allows you to add a list of fields to copy the respective values from the source issue to the destination issue. Specify the following:

  • Source Field: Select a field from the source issue(s) to copy the respective field value.

  • Destination Field: Select a field from the destination issue(s) to which the source field value is copied.

  • Options: Select an option that provides additional filters to be applied while copying a value to the selected destination fieldone or more options for copying the values. Available options:

    • Set only if field is empty: Sets the value of the selected destination field only if the field in the target destination issue(s) is empty.

    • Create missing value(s): Allows creating any missing component(s) or version(s) while setting or copying to a field that expects Versions or Components. This is applicable for version and component fields.

    • Ignore empty value: Does not set (clear) the selected fieldcopy the source value to the destination issue, if the source value is empty or null. This means a blank value will not be assigned to the destination field and the respective field value will be retained as-is.

    • Append value(s) to the field: Appends the specified value(s) to the selected field of the current issuedestination issue, instead of replacing its value. This is applicable applies to only to multi-valued fields.

Click Add another field to add another one more field to the list.

Click the Delete icon next to a field to delete the respective stop copying that field.

Global Options

  • Send notifications: Jira sends Select this option to allow Jira to send notifications for the change in the values of the selected field(s) on the current destination issue. You can control the default value of the "Send notifications" option in the Configuration page under JMWE administration. Click here for more information.(s).

  • Conditional Execution
    Run this post-function only if a condition is verified: Select this option to run this post-function based on the result of a Nunjucks template see (See Conditional execution). The condition mentioned here is evaluated once per combination of source and destination issue.

  • Run As: Select one of the following:

    • Run as current user: To set the current user as the author of the field change.

    • Run as add-on user: To set the add-on user as the author of the field change. (Default option)

    • Run as this user: To set any user selected in this field as the author of the field change.

Note

Running this post-function as any user other than the "Add-on user" is discouraged

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 destination issue being modified

  • The selected user must have the Edit issues permission on the destination issue being modified

  • Delayed execution

Include Page
Delayed execution
Delayed execution
Info

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

Use case

Consider a scenario where you want the Assignee of the current issue to be the Approver of the associated sub-task(s) while making sure the Due date is the same for the current issue and its sub-task(s). To copy the respective field values from the current issue to its sub-tasks for this scenario, perform the following:

  1. Edit the workflow to which you want to add the post function.

  2. Select the transition as needed.

  3. Click  Post Functionsin the properties panel.

  4. Click Add post function.

  5. Select Copy issue fields from the list of post functions.

  6. Click Add to navigate to the Copy issue fields post-function screen.

  7. Add the following details:

    • Source Issue(s): Select Current issue.

    • Destination issue(s): Select Sub-tasks of the current issue

    • Add the fields to copy in the Fields to copy section:

      • Source Field: Select Assignee

      • Destination Field: Select Approver

    • Click Add another field

      • Source Field: Select Due date

      • Destination Field: Select Due date

  8. Click Add to add the post-function to the transition.

  9. Publish the workflow.