Script Runner 4.3.16
import com.atlassian.event.api.EventListenerimport com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.event.issue.AbstractIssueEventListenerimport com.atlassian.jira.event.issue.IssueEventimport com.atlassian.jira.event.type.EventDispatchOptionimport com.atlassian.jira.issue.IssueManagerimport com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.MutableIssueimport com.atlassian.jira.issue.fields.CustomFieldimport org.apache.log4j.Loggerdef cfNameCascading = "Cascading Field Name";def cfNameFirst = "Cascading Field Name : part 1";def cfNameSecond = "Cascading Field Name : part 2";IssueManager issueManager = ComponentAccessor.getIssueManager()CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()/** Get the different CF objects**/CustomField cfCascading = customFieldManager.getCustomFieldObjectByName(cfNameCascading)CustomField cfFirst = customFieldManager.getCustomFieldObjectByName(cfNameFirst)CustomField cfSecond = customFieldManager.getCustomFieldObjectByName(cfNameSecond)/** Get Cascading Field values (map) **/Map cfVal = issue.getCustomFieldValue(cfCascading) as Mapif (cfVal) { String valFirst = cfVal.get(null); String valSecond = cfVal.get("1"); List allValues = cfVal.values() as List; log.info("First - second: $valFirst - $valSecond"); log.info("All: $allValues"); /** Set each separate CF **/ issue.setCustomFieldValue(cfFirst, valFirst); issue.setCustomFieldValue(cfSecond, valSecond); /** update the issue **/ issueManager.updateIssue(event.getUser(), issue, EventDispatchOption.DO_NOT_DISPATCH, false);} else { log.info("Custom field not present on this issue")}