import com.atlassian.jira.component.ComponentAccessor
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def formField = getFieldByName("Closed Reasons") // update FIELD_NAME with your custom field name
def customField = customFieldManager.getCustomFieldObject(formField.getFieldId())
def config = customField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
def Case = getFieldByName("Case Type")
// update below OPTION_ONE, OPTION_TWO, OPTION_THREE with desired options
// note the options listed need to first be configured within the full project field context and must match exactly
if ( Case.getValue() == "Query")
{
def optionsMap = options.findAll {
it.value in ["User Management", "Password Reset", "Hierarchy Management", "Score Change", "Usability Query","Unsubscribe", "Additional Comments", "Customer could not find store/offer code", "Location Not Participating", "Data Import","Contact customer service/corporate #", "Duplicate","No Longer a Client", "Spam"]
}.collectEntries {
[
(it.optionId.toString()) : it.value
]
}
formField.setFieldOptions(optionsMap)
}
else if ( Case.getValue() == "Error")
{
def optionsMap = options.findAll {
it.value in ["Link Error", "Survey Error", "Reporting Error", "Platform Error", "Platform Outage","Speed Issue (Reporting)", "Speed Issue (Platform)", "File Processor Error", "Survey Timed Out", "User Computer Error","User Error", "Customer Did Not Recieve Incentive","Incorrect Information", "Spam","Survey Automatically Submitted","Coupon/Sweep Questions", "Duplicate", "No Longer a Client"]
}.collectEntries {
[
(it.optionId.toString()) : it.value
]
}
formField.setFieldOptions(optionsMap)
}
else if (Case.getValue() == "Appeal")
{
def optionsMap = options.findAll {
it.value in ["Appeal Approved", "Appeal Declined", "Raised In Error", "Duplicate", "No Longer a Client","Spam"]
}.collectEntries {
[
(it.optionId.toString()) : it.value
]
}
formField.setFieldOptions(optionsMap)
}
else if (Case.getValue() == "Change Request")
{
def optionsMap = options.findAll {
it.value in ["Change Requested", "Change Actioned", "Change Denied", "Duplicate", "No Longer a Client","Spam"]
}.collectEntries {
[
(it.optionId.toString()) : it.value
]
}
formField.setFieldOptions(optionsMap)
}
else if (Case.getValue() == "PII Request ")
{
def optionsMap = options.findAll {
it.value in ["GDPR Request Completed", "CCPA PII Request Completed", "Email Not Verified", "Duplicate","Spam"]
}.collectEntries {
[
(it.optionId.toString()) : it.value
]
}
formField.setFieldOptions(optionsMap)
}
else
{
}