In the ScriptRunner console, I am writing a script to copy a custom field value from parent to child issues. This is my code:
import com.atlassian.jira.util.ComponentLocator
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.changehistory.ChangeHistoryManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.UpdateIssueRequest
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.link.IssueLinkManager;
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
ChangeHistoryManager changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
def issue = event.issue
def changeHistory = changeHistoryManager.getAllChangeItems(issue).each{
}
def chHistory = changeHistory[-1].field.toString()
final cf = 'customfieldname'
def change = event.changeLog.getRelated('ChildChangeItem').find { it.field == cf }
if (!change) {
return
}
def linkedIssues = ComponentAccessor.issueLinkManager.getOutwardLinks(issue.id).findAll {it.issueLinkType.name in ['Epic-Story Link'] }
def customField = ComponentAccessor.customFieldManager.getCustomFieldObjects(issue)?.find {it.name == cf}
def nV = change.newstring
linkedIssues.each{
def linkedIssue = it.destinationObject
def user = ComponentAccessor.jiraAuthenticationContext.getLoggedInUser()
linkedIssue.setCustomFieldValue(customField, user)
ComponentAccessor.getIssueManager().updateIssue(user, issue, EventDispatchOption.ISSUE_UPDATED, false)
}
I get an error when calling setCustomFieldValue(). How do I fix this code to make it work?