formField.setFieldOptions(Iterable) Not working

Hi, 

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

This widget could not be displayed.
Alexey Matveev Community Champion Nov 03, 2017

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.

This widget could not be displayed.

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

https://scriptrunner.adaptavist.com/5.0.2/jira/recipes/behaviours/setting-default-fields.html#_setting_defaults_for_selects_etc

 

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
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Published Jul 25, 2018 in Marketplace Apps

Jira Cloud and Bitbucket Cloud Integration with Microsoft Teams

One of the newest products in the Microsoft family - Microsoft Teams,  is a chat-based hub for teamwork that integrates all the people, content, and tools your team needs to be more engaged and ...

733 views 0 3
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