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.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)
}
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.