To add the 'Copy issue fields' 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
Post Functions
in the properties panel.Click
Add
post function
.Select
Copy issue fields
from the list of post functions.Click
Add
to navigate to the Copy issue fields post-function screen where you can configure the post function as needed. See here for more details.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.
Known issues common to all post-functions:
Troubleshooting this post-function configuration: In case the post-function does not work as expected these are the things to look out for
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 the value of the selected field on the current issue. This is the default option.
Sub-tasks of the current issue: Select this option to set the value of the selected field on the sub-tasks of the current issue
Parent of the current sub-task: Select this option to set the value of the selected field on the parent of the current issue
Issues that belong to the current issue (Epic): Select this option to set the value of the selected field on the issues that belong to the current Epic
Epic of the current issue: Select this option to set the value of the selected field on the Epic of the current issue
Child issues of the current issue in the Portfolio hierarchy: Select this option to set the value of the selected field 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 set the value of the selected field on 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 the value of the selected field on all issues linked to the current issue
Issues linked to the current issue through the following link type: Select this option to set the value of the selected field on 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 the value of the selected field on the issues returned by the result of a Nunjucks template. Input 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 the value of the selected field on the issues returned by a JQL search. Input 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 issues of a project that belong to the project with key TEST and the assignee is 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 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).
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 field. Available options:
Set only if field is empty: Sets the value of the selected field only if the field in the target issue(s) is empty.
Create missing value(s): Allows creating any missing component(s) or version(s) while setting or copying a field that expects Versions or Components. This is applicable for version and component fields.
Ignore empty value: Does not set (clear) the selected field, if the value is empty or null.
Append value(s) to the field: Appends the specified value(s) to the selected field of the current issue. This is applicable only to multi-valued fields.
Click Add another field
to add another field to the list.
Click the Delete
icon next to a field to delete the respective field.
Global Options
Send notifications: Jira sends notifications for the change in the values of the selected field(s) on the current issue. 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
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 Conditional execution.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.
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 issue being modified
The selected user must have the Edit issues permission on the issue being modified
Delayed execution
Post functions are provided with an option to delay their execution. You need to select the number of seconds to wait until the post-function is run, a default of 1 sec to a maximum of 20 seconds.
Workflows that depend on post functions being executed in a specific order fail due to the asynchronous nature of the Connect post-functions in Jira Cloud. One of the workarounds is to delay the execution of the post-functions and thereby create a more predictable execution order. For example, on the approval of a Story you want to create sub-tasks and immediately transition them; in this case, you will have to delay the execution of the Transition Linked Issues post-function, so that the sub-tasks are created before they are transitioned. See the use case below.
It is recommended to use the Sequence of post-functions post-function or Shared Action post-function post-function to run a list of post-functions in a sequence instead of applying a delay.
Sample use cases for Delayed execution
On the creation of a Bug, assign it to a member of the QA team and then add the Assignee to the Watchers.
On the approval of a Story, create subtasks for Development and QA, and transition them to In Progress status.
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.