Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Need a script to copy the value of a user picker field from parent to sub task in script runner

Need a script to copy the value of a user picker field from parent to sub task in script runner

2 answers

1 accepted

2 votes
Answer accepted

Here it is!

import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueImpl
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.event.type.EventDispatchOption

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
IssueManager issueManager = ComponentAccessor.getIssueManager()
CustomField field = customFieldManager.getCustomFieldObject("customfield_15117")

Collection<Issue> subTasks = issue.getSubTaskObjects()
subTasks.each { subTask ->
MutableIssue mutableIssue = issueManager.getIssueByKeyIgnoreCase(subTask.getKey().toString())
ApplicationUser appUser = ComponentAccessor.getUserManager().getUserByName("sysadmin")
mutableIssue.setCustomFieldValue(field, issue.getCustomFieldValue(field))
issueManager.updateIssue(appUser, mutableIssue, EventDispatchOption.DO_NOT_DISPATCH, false)


0 votes
Tarun Sapra Community Leader Feb 27, 2018

Just to add to the good answer provided by @Mahesh S

In the final line of code, I would use

issueManager.updateIssue(appUser, mutableIssue, EventDispatchOption.ISSUE_UPDATED, false)

instead of  

issueManager.updateIssue(appUser, mutableIssue, EventDispatchOption.DO_NOT_DISPATCH, false)

Because as per docs

Issue updateIssue(ApplicationUser user,
                  MutableIssue issue,
                  EventDispatchOption eventDispatchOption,
                  boolean sendMail)

This method will store the provided issue to the JIRA datastore.

The issue will be saved and re-indexed unless EventDispatchOption.DO_NOT_DISPATCH is specified. This method performs no permission checks.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Jira Service Management

Jira Service Management Documentation Opportunities

Hello everyone, Hope everyone is safe! A few months ago we posted an article sharing all the new articles and documentation that we, the AMER Jira Service Management team created. As mentioned ...

268 views 0 6
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you