Are you in the loop? Keep up with the latest by making sure you're subscribed to Community Announcements. Just click Watch and select Articles.

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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

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

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.
Feb 16, 2019 • edited

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