I've a custom field with Select List (single choice) where i want to add / remove values based on issue type.
can someone help me on this ?
Adding my code below :
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.component.ComponentAccessor
def cfManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def multiSelectCF = cfManager.getCustomFieldObjectsByName("Component")[0]
def formMultiSelect = getFieldById("customfield_15200")
def singleSelectValue = getIssueContext().getIssueType().name
def config = ComponentAccessor.fieldConfigSchemeManager.getRelevantConfig(issueContext, multiSelectCF)
def options = optionsManager.getOptions(config)
def Bug = ["A","B"]
def Story = ["B","D"]
def Epic = ["A","B","C","D"]
switch(singleSelectValue)
{
case "Bug":
formMultiSelect.setFieldOptions(options.findAll{it.value in Bug}.collectEntries{[(it.optionId): it.value]})
break
case "Story":
formMultiSelect.setFieldOptions(options.findAll{it.value in Story}.collectEntries{[(it.optionId): it.value]})
break
case "Epic":
formMultiSelect.setFieldOptions(options.findAll{it.value in Epic}.collectEntries{[(it.optionId): it.value]})
break
default:
formMultiSelect.setFieldOptions(options)
}
Thanks,
Krishna