Get ID of custom dropdown value using groovy

Hi,


I'm writing a Jira Behviours script that accesses the epic linked to the current issue, and I then need to get the value of a custom dropdown of the epic

My script works ok, and can access the field, but getCustomFieldValue returns the string value of the drop down ("Team"), whereas I need the underlying integer ID (since the string values are not unique, due to different contexts)

How can I adapt my script so that it gets the ID, rather than the string value?

cfTeam = customFieldManager.getCustomFieldObjectByName("Team")
def epicTeam = epic.getCustomFieldValue(cfTeam)

I though adding .value, or value(), or specifying the variable as an int or double would do it, but it doesn't seem to

Thanks

Mark.

1 answer

1 accepted

1 vote

I don't think this is related to behaviours... this is just jira's API I think.

getCustomFieldValue - will return an Option object for a single select. If you toString() it you will get the option value, but that's not what it actually returns.

Try:

epic.getCustomFieldValue(cfTeam)?.optionId


Fantastic, that worked first time. Thanks.

Where could I have found this in the API documentation - I feel like I'm stabbing in the dark here trying to find the right syntax and methods.

And don't worry... just give it 7 to 8 years of doing this on a constant basis and it will become second nature.

If it was me, I would have printed the return type, ie:

log.debug epic.getCustomFieldValue(cfTeam).getClass().name

You can't really do any alternative because the return type for getCustomFieldValue is just Object.

Once you have the class you can use the javadoc: https://docs.atlassian.com/jira/latest/com/atlassian/jira/issue/customfields/option/Option.html

Setting up an IDE and debugging makes this easier.


Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Apr 30, 2018 in Marketplace Apps

Why moving to Confluence Data Center is only a job half-done

Confluence Data Center is a deployment option that was designed for performance at scale. In other words, Confluence will handle increased traffic much reliably in a clustered environment and yo...

235 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