Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

"If" statement in Post Function Script based on value of a Checkbox custom field not working.

Wayne Cranford February 13, 2019

Environment - Adaptavist ScriptRunner v5.3.5 with JIRA v 7.4.4

At a high level:

If Resume Type (Checkbox custom field) = Resume Test

then

Test Resume Status (Radio Button custom field)  = Waiting Test Eng's Approval

I am able to set the Radio Button field properly without the "if", but cannot get this working when I try to incorporate the "if".  The workflow action executes without any errors  (See screenshot)  but the field does no populate. .

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField

def componentManager = ComponentManager.instance
def optionsManager = ComponentManager.getComponentInstanceOfType(OptionsManager.class)
def customFieldManager1 = ComponentAccessor.getCustomFieldManager()
def userUtil = ComponentAccessor.getUserUtil()

def cf102 = customFieldManager1.getCustomFieldObjectByName("Test Resume Status")
def fieldConfig102 = cf102.getRelevantConfig(issue)
def option102 = optionsManager.getOptions(fieldConfig102).getOptionForValue("Waiting Test Eng's Approval", null)

def cf = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("Resume Type")
def value = issue.getCustomFieldValue(cf)

if (value == "Resume Test"){
issue.setCustomFieldValue(cf102, option102)
}

 For the "if"  I have used both the "cf" and value" but do not see a difference in operation.

Thanks image.png

 

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Alejandro Suárez - TecnoFor
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
February 16, 2019

You are trying to compare a Option with a String

To fix that you have to use value.toString() or value.getValue() to convert the Option into String in your if-else statement.

Regards

TAGS
AUG Leaders

Atlassian Community Events