How do I get custom field values in a JIRA issue to pass into a Groovy script

Eugene Domingo November 18, 2012

I'm trying to get a value from a created issue in JIRA and pass it into a post-function script using Script-Runner plugin but I don't know what the call methods are. From researching, I found this:

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.customfields.manager.OptionsManager

def componentManager = ComponentManager.instance
def optionsManager = ComponentManager.getComponentInstanceOfType(OptionsManager.class)
def customFieldManager = componentManager.getCustomFieldManager()

def cf = customFieldManager.getCustomFieldObjectByName("Lab Equipment")
def fieldConfig = cf.getRelevantConfig(issue)

def process = "/isis/scripts/scripts/myscript.sh $fieldConfig".execute()

Lab Equipment is a string in a drop-down list.

My ultimate goal is to retrieve values from the custom fields in JIRA and send it to a bash script as arguments. It just doesn't work.

I would just like simple commands that pulls the values I need from any custom field so I can use it later.

1 answer

1 accepted

2 votes
Answer accepted
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.
November 18, 2012

You don't want this line:

def fieldConfig = cf.getRelevantConfig(issue)

You want something like:

def labEq = issue.getCustomFieldValue(cf)

Then labEq should contain the value of the field (actually it will contain an Option object, but if you use it in a String context it will be toString'd). If not:

use labEq?.value

to get the value. No IDE in front of me so double-check stuff.

Eugene Domingo November 19, 2012

Thanks. That worked perfectly.

Eugene Domingo November 19, 2012

I was able to call the value with $labEq in the script. Thanks.

Suggest an answer

Log in or Sign up to answer