---
title: "Copy field value from related issues"
canonical: "https://support.appfire.com/space/JMWE/78056411/Copy%20field%20value%20from%20related%20issues"
format: markdown
---
> ℹ️ Are you using JMWE for Cloud and want to learn how to use this post-function? Head to our documentation [here](https://appfire.atlassian.net/wiki/x/CYitB).

### **Source issue(s)**

Select the issues to copy from. 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](https://appfire.atlassian.net/wiki/spaces/JMWE/pages/461537734), or a Collection of [Issue objects](https://appfire.atlassian.net/wiki/spaces/JMWE/pages/461537734), 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](http://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
    

> ⚠️ - 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**

Sets the value(s) of the selected field of the current issue, only when the field is empty on the current issue.

- **Ignore empty values**

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

- **Add source value(s) to destination field**

Appends value(s) from the field of each related issue to the selected field of the current issue. This is applicable only to multi-valued fields.

- **Create missing value(s)**

<span style="color: #000000">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.</span>

### **Conditional execution**

<span style="color: #000000">Input a Groovy expression that returns </span>`true`<span style="color: #000000"> if the post-function should run. For more information see </span><span style="color: #000000">[Conditional execution using Groovy expression](https://appfire.atlassian.net/wiki/spaces/JMWE/pages/461996060)</span><span style="color: #000000">. Note that the condition will be evaluated </span><span style="color: #000000">*once per applicable related issue*</span><span style="color: #000000">, with each related issue being available, in turn, in the </span>`relatedIssue`<span style="color: #000000"> and deprecated </span>`linkedIssue`<span style="color: #000000"> variables.</span>

### **Error Handling**

<span style="color: #333333">By default, all errors (Java Exceptions) raised by this post-function, including those raised by custom Groovy scripts, will be logged in the </span>[JIRA log file](https://confluence.atlassian.com/adminjiraserver073/logging-and-profiling-861253813.html)<span style="color: #333333"> 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 </span><span style="color: #333333">*only for the post-function(s) being worked on*</span><span style="color: #333333">, in order to avoid disrupting other workflows. To make errors raised by the </span><span style="color: #333333">*current*</span><span style="color: #333333"> post-function prevent the transition from completing and show the error in the browser, select </span>`Make transition fail when an error occurs in this post-function`<span style="color: #333333">.</span>

<span style="color: #333333">If you want to show all the errors, either </span><span style="color: #333333">*only to the admins *</span><span style="color: #333333">or to</span><span style="color: #333333">* all users*</span><span style="color: #333333">, configure the option globally on the </span><span style="color: #333333">[JMWE configuration page](http://innovalog.atlassian.net/wiki/spaces/JMWE/pages/139627148/JMWE+administration+pages)</span><span style="color: #333333">. For example, on development and staging Jira instances, you can activate error reporting for </span><span style="color: #333333">*all*</span><span style="color: #333333"> 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.</span>

> ⚠️ When the option is selected on a post-function, it overrides the configuration <span style="color: #333333">on the </span><span style="color: #333333">[JMWE configuration page](http://innovalog.atlassian.net/wiki/spaces/JMWE/pages/139627148/JMWE+administration+pages)</span><span style="color: #333333">.</span>