Scripted Field that changes based on another Checkbox field

Cody Church May 29, 2015

Hey all,

I'm trying to make a scripted field that reads another field to determine it's value, like below:

def String multiSelectField = getCustomFieldValue("TestSL")
switch (multiSelectField) {
    case "1":
    return "one@test"
   
    case "2":
    return "two@test"
   
    case "3":
    return "three@test"
   
    default:
        return ""      
}

... but I need to alter it to take checkbox field results instead of a multiselectfield (so that checking 1, 2, or 1 & 2 will return different results).  But I can't find where I pull the checkbox options for making it work.

 

2 answers

1 vote
JamieA
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.
May 31, 2015

If TestSL is a multi select it will return a list of Option objects... so

def multiSelectField = getCustomFieldValue("TestSL")*.value 
...
case (["1"]) ...
case (["1", "2"]) ...

Untested... Not sure about the ordering, you may need to cast to a Set to remove any ordering.

Add some logging to see the value of multiSLField...

 

 

0 votes
Cody Church June 1, 2015

Thanks for the answer!  So that's just using a wildcard * to grab the list of values, then run a list of cases to see if it matches any of those values, correct?  I think I understand, but this is my first time using Scripted Fields and I'm afraid I'm not very savvy with the language.  Is there a place I can reference to construct the case functions?  I', trying to following the formatting by I can't get it to work.  Does Scripted Fields use... what is it, Groovy scripts?

JamieA
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.
June 1, 2015

It's not a wildcard, it's the spread-dot operator...http://www.javaworld.com/article/2074149/core-java/groovy-s-spread-and-spread-dot-operators.html Yes, groovy.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events