I'm using the behaviors plugin. I have figured out how to filter the values of a select list. However, I need to filter this list based on project selection during issue creation.
Script I am using:
import com.atlassian.jira.component.ComponentAccessor def customFieldManager = ComponentAccessor.getCustomFieldManager() def optionsManager = ComponentAccessor.getOptionsManager() def formField = getFieldByName("Location - NA") def customField = customFieldManager.getCustomFieldObject(formField.getFieldId()) def config = customField.getRelevantConfig(getIssueContext()) def options = optionsManager.getOptions(config) def optionsMap = options.findAll { it.value in ["Kansas City", "Bejing", "Memphis"] }.collectEntries { [ (it.optionId.toString()) : it.value ] } formField.setFieldOptions(optionsMap)
I would switch on:
getIssueContext().getProjectObject()
which should give you a Project... IIRC initialisers fire when the project changes, so that might be a good place to put it. Mikey's answer should work too I think.
Generally speaking, I would use your behaviour on the Project field if that is the controlling factor.
You should then be able to get the value of the project using something like:
projectValue = getFieldById(getFieldChanged()).getValue
Note that I have not actually tested that code.
Once you have the project value you can use if/else statements or a switch statement to set the appropriate field options for the corresponding projects.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.