Jira (7.7 - 8.6)
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.PriorityManager
import com.atlassian.jira.issue.customfields.option.LazyLoadedOption
final customFieldName = "Single Select List"
//Get custom field issue with this name
def customFieldManager = ComponentAccessor.customFieldManager
def customField = customFieldManager.getCustomFieldObjects(issue).findByName(customFieldName)
assert customField: "Could not find custom field with name $customFieldName"
def customFieldVal = issue.getCustomFieldValue(customField) as LazyLoadedOption
//Create priorities
def priorities = ComponentAccessor.getComponent(PriorityManager).priorities
def highestPriority = priorities.findByName("Highest")
def highPriority = priorities.findByName("High")
assert highestPriority && highPriority: "One ore more selected priorities doesn't exist"
//Assign priority depending on the custom field value
switch (customFieldVal?.value) {
case "Audit (Internal)":
issue.setPriorityId(highestPriority.id)
break
case "Audit (External)":
issue.setPriorityId(highPriority.id)
break
default:
log.debug "No need to change the priority"
break
}