Forums

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

Disabling Cascading Select List child options

Kishan Sharma
Community Champion
May 26, 2022

Hi Community,

Is there a way to bulk delete child options from a cascading select list via groovy/scriptrunner ? For example, I have Cascading Select List field with Parent Option as Priority and Child Options as Level1, Level2, Level3, Level4, Level5

Now I want to delete child options Level4 and Level5, keeping Priority parent option intact. This is just a small example, we have hundreds of options that we are looking to bulk delete or disable will also do.

Any suggestions /example will be appreciated.

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Andrea Pannitti
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 Leaders.
July 15, 2022

Hi @Kishan Sharma,

you can do this running from the ScriptRunner Console the following code:

import com.atlassian.jira.component.ComponentAccessor

def cfCascadingField = ComponentAccessor.customFieldManager.getCustomFieldObjectsByName("Priority").first()
def contextCascadingField = cfCascadingField.configurationSchemes.listIterator().next().oneAndOnlyConfig
def optionsManager = ComponentAccessor.optionsManager
def options = optionsManager.getOptions(cfCascadingField.configurationSchemes.listIterator().next().oneAndOnlyConfig)

def optionsToDeleteList = ["Level4", "Level5"]

options.each {
    it.childOptions.findAll { optionsToDeleteList.contains(it.value) }.each { option ->
        optionsManager.deleteOptionAndChildren(option)
    }
}
Kishan Sharma
Community Champion
July 18, 2022

Awesome, that worked like a charm @Andrea Pannitti thank you so much, appreciate your help 👍😊

Irfan Azeez March 7, 2023

How do I disable certain options instead of deleting them?

Irfan Azeez March 7, 2023

This does not seem to be working to disable option instead of deleting them:

optionsManager.disableOption(option)

I can still see the option available for selection even though it has been disabled.

 

I am still searching for a solution to subset (show/hide based on specific conditions) the child options in a cascade select list.

TAGS
AUG Leaders

Atlassian Community Events