ScriptRunner: determine whether a select list (single choice) custom field matches a specific value

jeremy.bingman October 26, 2018

I am trying to add a validator to a workflow which prevents the issue from moving forward if the value selected in a select list (single choice) custom field is still set to the default. 

import com.atlassian.jira.component.ComponentAccessor

def cfManager = ComponentAccessor.customFieldManager
def cf = cfManager.getCustomFieldObject((Long) 11517) 

if (cf != "Not Complete") {
log.warn ("This field must be updated to close this ticket.")
return
}

The validator is currently blocking the issue from moving to the next status in the workflow no matter what value is selected.

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Neta Elyakim
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 6, 2018

Try this:

The InvalidInputException function lets you throw an error to the user

"customFieldValue" - return the field value as a string and then you can check the value.

import com.atlassian.jira.component.ComponentAccessor
import com.opensymphony.workflow.InvalidInputException

def customFieldManager = ComponentAccessor.getCustomFieldManager()
String customFieldValue = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(11517 as long))

if (customFieldValue == "the default value") {
invalidInputException = new InvalidInputException("This field must be updated to close this ticket.");
return null
}
TAGS
AUG Leaders

Atlassian Community Events