I have a problem with following script, because automation running properly as well without any changes in custom field type “IssuePicker”.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.index.IssueIndexingService
import com.atlassian.jira.issue.link.IssueLinkManager
import com.atlassian.jira.issue.link.IssueLinkTypeManager
final String customFieldId = “customfield_46120”
final String linkTypeName = “Relates”
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
IssueManager issueManager = ComponentAccessor.getIssueManager()
IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager()
IssueIndexingService issueIndexingService = ComponentAccessor.getComponent(IssueIndexingService)
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
Issue issue = event.issueLink.sourceObject
def mutableIssue = issueManager.getIssueByCurrentKey(issue.key)
def customField = customFieldManager.getCustomFieldObject(customFieldId)
if (customField == null) {
log.warn(“Custom field with ID $customFieldId not found.”)
return
}
issueLinkManager.getOutwardLinks(issue.id).each { issueLink →
if (issueLink.issueLinkType.name == linkTypeName) {
def sourceIssue = issueLink.sourceObject
def customFieldValue = sourceIssue.getCustomFieldValue(customField)
if (customFieldValue != null) {
mutableIssue.setCustomFieldValue(customField, customFieldValue)
issueManager.updateIssue(user, mutableIssue, EventDispatchOption.DO_NOT_DISPATCH, false)
issueIndexingService.reIndex(mutableIssue);
log.warn("Updated issue ${issue.key} with ${customFieldId} = ${customFieldValue}")
}
}
}
log.warn(“Script completed for issue: ${issue.key}”)