Copy issue fields

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

Note: When copying field values using this post-function, some consideration is required for specific fields in the destination issue(s):

  • Sprint - If you are setting the Sprint field and you try to copy the value for a closed sprint, that value will not copy. If you are copying multiple sprint values to the Sprint field and one of those values is a closed sprint, that value will not be copied (but the other sprint values will be copied).

To add the 'Copy issue fields' post-function to a transition: 

  1. Click Edit for the workflow that has the transition to which you wish to add the post-function.

  2. In the Workflow Designer, select the transition.

  3. Click Post Functions in the properties panel (or select the Post Functions tab).

  4. Click Add post function.

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

  6. Click Add. The Copy issue fields post-function screen will open, where you can configure the post function as needed. See below for more details on specific configurations.

  7. Click Add to complete the configuration and add the post-function.

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

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 copy the value of the selected field(s) from the current issue. This is the default option.

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

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

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

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

    • Child issues of the current issue in the Portfolio hierarchy - Select this option to copy the value of the selected field(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 copy the value of the selected field(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 copy the value of the selected field(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 copy the value of the selected field(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 copy the value of the selected field(s) from the issues returned by the result of a Nunjucks template. 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 copy the value of the selected field(s) from the issues returned by a JQL search. 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 belonging to the same project as the current issue that are assigned to the current user

      • {% 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