formField.setFieldOptions(Iterable) Not working


I have a behavior which is supposed to limit the drop down options a user see's if he inputs a value into a earlier option. 

For example if FieldA =AnswerA Then FieldB (which is a dropdown with many options) should only display A or B to the user as options. 

My code looks like: 


import com.atlassian.jira.component.ComponentAccessor

def FieldA = getFieldById("customfield_10001")
def FieldB = getFieldById("customfield_10002")

if (FieldA.getValue() == "AnswerA") {

FieldB.setFieldOptions( ['A', 'B'])


These are custom fields and are being accessed correctly as I can use setHidden(true/false) to confirm my If statement can hide and show FieldB based on FieldA's input.


What isnt working is the setFieldOptions() method. oddly in the Example on the Behaviours page it actually shows it as: 

formField.setFormValue(options.findAll {it.value in ['foo', 'bar']})


When I try and do 

FieldB.setFormValue(options.findAll {it.value in ['A', 'B']})

I get an error message telling me the variable options is undeclared and that there is no such property as it.value

I have tried a lot of random things using code snippets on the answers here but I wonder if the code syntax has changed recently as stuff that people seem to say has worked is giving me error messages. 


in short: Would really appreciate if someone could give any advice on how I can limit the selectable options in the drop down. 


2 answers

0 votes

Instead of developing a solution use cascade select custom field. It would be much cleaner solution. 

Unfortunately a cascade wouldn't work in this scenario as the fields are relatively unrelated. In a few small cases the first field should limit what the second fields options should be but thats about it. 

As I am not far off the solution it would be really useful to try and understand how the setFieldOptions() method works, unfortunately its not very clear but it would be useful to understand.

For anyone that finds this, I actually found the answer here:


There is a lot of component accessor code I needed to make use of options.find and it.value

All the best, 

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 13, 2019 in Marketplace Apps

Marketplace Spotlight: Marketing apps for Confluence to keep your teams working on the same page


217 views 0 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you