Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Get cascade field value

I have a behaviours script and following requirement:

If user select values of cascade field as "Peter" (first option) and "New York" (Second option) then I can see the hidden field.

Can someone please help me?

def tid = getFieldByName("Name and Location");

def monthlyMaintenance = getFieldByName("Is this for monthly network maintenance");

monthlyMaintenance.setHidden(true);

if(tid.getValue() == "'Peter','New York'"){
             monthlyMaintenance.setHidden(false);
}

2 answers

Hi All,

Following code has worked for me but ensure the cascading custom field is available in the screen you are working on,

For Behaviour:

def cfield = getFieldByName("cascading custom field name")
Map mapValue = cfield.getValue() as Map
def value1 = mapValue.get(0).toString()
def value2 = mapValue.get(0).toString()

For Post Functions:

import com.atlassian.jira.component.ComponentAccessor

def issueManager = ComponentAccessor.getIssueManager()

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def customField = customFieldManager.getCustomFieldObjectsByName('cascading custom field name').getAt(0)
def cstFldVlue = issue.getCustomFieldValue(customField)

Thanks

Works for me !

thanks !

0 votes
Payne Community Leader Nov 14, 2018

I use the following in a ScriptRunner post function. I'm not sure if it'll work in a Behaviour, but maybe it'll at least get you headed in the right direction.

 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField

String unit,category,emailDestination

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
CustomField cf = customFieldManager.getCustomFieldObjectByName("Unit and Category")
Map cfVal = issue.getCustomFieldValue(cf) as Map

if (cfVal) {
String first = cfVal.get(null)
String second = cfVal.get("1")
unit = first
category = second
}
else {
unit = ""
category = ""
}

Hi Payne,

I can't get it to work :/

I saw a lot of post like yours that cast 

issue.getCustomFieldValue(cf)

To Map or Hashmap or ....

But  in my case, I don't know why I can't do it. The compiler cast automatically my issue.getCustomFieldValue(cf) to Double and it can't overwrite this cast.

I can't understand why, but my field value is always 0.0 (with or without value in the field)

When i put this in my code :

Map cfVal = issue.getCustomFieldValue(cf) as Map

I have this error :

org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: java.lang.Double.isEmpty() is applicable for argument types: () values: [] Possible solutions: identity(groovy.lang.Closure), isNaN(), inspect(), dump()

 When i try another thing i saw in a different post (but similar) :

log.warn(((Map<String, String>) issue.getCustomFieldValue(cf)).get(null))

I have this error :

Cannot cast object '0.0' with class 'java.lang.Double' to class 'java.util.Map'

 As I was saying, even if it display an error in the "pre-compiling" I can run this code well :

log.warn issue.getCustomFieldValue(cf).floatValue()

and I have this result :

[runner.ScriptBindingsManager]: 0.0

 Do you have any idea that could make 

Map cfVal = issue.getCustomFieldValue(cf) as Map

works ?

Regards,

Laurent

Suggest an answer

Log in or Sign up to answer
TAGS

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you