Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

ScriptRunner Behavior Question - Keep None in Custom List

Cory Burns
May 4, 2018

I know how to use a single select list and have it have different values based off of other fields. What I can't get it to do is still show the none option. For Example

 

I have SelectListA, SelectListB

 

def SelectListA = getFieldbyId("Customfield_ID1")

String SelectListAfieldValue = SelectListA .getValue();

 

If ("Red"..equals(SelectListAfieldValue)) {

def SelectListB = getFieldbyId("Customfield_ID2")

def customFieldApp = customFieldManager.getCustomFieldObject(SelectListB .getFieldId())

def configApp = customFieldApp.getRelevantConfig(getIssueContext())

def optionsApp = optionsManager.getOptions(configApp)

def SUBSelect = optionsApp.findAll { it.value in ["Banana", "Grapes","Apple"]}.collectEntries{[(it.optionId.toString()) : it.value]}

SelectListB .setFieldOptions(SUBSelect)

 

 

In the above scenario I also want a none option, none of the below work. The reason behind this is I have this field A will equal more than just Red in the example. So for Red, Blue and Green I want None also has a choice but for Purple, Yellow do not want none as a choice

 

def SUBSelect = optionsApp.findAll { it.value in ["None","Banana", "Grapes","Apple"]}.collectEntries{[(it.optionId.toString()) : it.value]}

 

def SUBSelect = optionsApp.findAll { it.value in ["-1","Banana", "Grapes","Apple"]}.collectEntries{[(it.optionId.toString()) : it.value]}

 

def SUBSelect = optionsApp.findAll { it.value in ["null","Banana", "Grapes","Apple"]}.collectEntries{[(it.optionId.toString()) : it.value]}

 

Everything I have found as been about how to remove None nothing covers what if I wanted to leave it in for some reason

 

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Daniel Ebers
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
November 21, 2020

Hi Shah,

while I cannot help with the code itself I'd like to confirm we did something like this in the past using a simple scripted validator:

https://scriptrunner.adaptavist.com/6.14.0/jira/recipes/workflow/validators/simple-scripted-validators.html

On the contrary to what you wrote we did not use a Behaviour, though.
We also not aimed towards hiding the transition (condition) but show a error message to the user (validator).

Probably this would be an alternative for you? If so, the above linked documentation should help you to get an idea.

Cheers,
Daniel

TAGS
AUG Leaders

Atlassian Community Events