Need a script to copy the value of a user picker field from parent to sub task in script runner
Here it is!
import com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.fields.CustomFieldimport com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.IssueManagerimport com.atlassian.jira.user.ApplicationUserimport com.atlassian.jira.issue.Issueimport com.atlassian.jira.issue.IssueImplimport com.atlassian.jira.issue.MutableIssue;import com.atlassian.jira.event.type.EventDispatchOptionCustomFieldManager 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) }
Cheers!
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.
EventDispatchOption.DO_NOT_DISPATCH
It looks like you're new here. Sign in or register to get started.