Jira PostFunction testing value of a checkbox custom field

in Jira Software 7.4.2, trying to use PostFunction , to conditionally create a subtask, when a checkbox field has the value "Yes".

 

the condition I have scripted here is not matching the value "Yes"

 

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.Issue;
import org.apache.log4j.Logger
import org.apache.log4j.Level
def log = Logger.getLogger("Jira Log")
log.setLevel(Level.DEBUG)

log.debug("POSTFUNCTION DEBUG: test log")
log.debug("POSTFUNCTION DEBUG: " + issue)

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
def cField = customFieldManager.getCustomFieldObjectByName("Update Global Webpage")
def cFieldValue = issue.getCustomFieldValue(cField)
log.debug("POSTFUNCTION DEBUG: " + cFieldValue)

if (! cFieldValue) {
log.warn ("Failed to find Update Global Webpage field on issue: ${issue.key}")
def result = false
return
}

def result = cFieldValue as String == 'Yes'

 

 

The output to the jira log is this

...  DEBUG dmarsico 843x581424x1 1r2alxr 10.82.178.50,0:0:0:0:0:0:0:1 /secure/WorkflowUIDispatcher.jspa [Jira Log] POSTFUNCTION DEBUG: test log
... DEBUG dmarsico 843x581424x1 1r2alxr 10.82.178.50,0:0:0:0:0:0:0:1 /secure/WorkflowUIDispatcher.jspa [Jira Log] POSTFUNCTION DEBUG: ET1-8
... DEBUG dmarsico 843x581424x1 1r2alxr 10.82.178.50,0:0:0:0:0:0:0:1 /secure/WorkflowUIDispatcher.jspa [Jira Log] POSTFUNCTION DEBUG: [Yes]

so it looks like the value is Yes,

I've tried 'Yes', "Yes"...

anyone see what I might be doing wrong here?  

 

 

1 answer

1 accepted

0 vote
Alexey Matveev Community Champion Nov 21, 2017

Hello,

Do you mean that the result variable is always true? 

what I mean is its not returning true for that test...

(so it doesn't create the subtask when I have that field = to Yes)

if I hardwire the return to true, it does create the subtask, so its seems it "would" work if the return value was true,  but I have yet to figure out why its not returning true in my example I've shown...

Alexey Matveev Community Champion Nov 22, 2017

I tried your code. It returns true if Yes and false if No.

Alexey,

Thanks, ok i'm going to stare at things more...  As we cannot see what is going wrong here.  Appreciate you spending the cycles on this.

 

Dave

Alexey,

 

thanks so in the end it turned out that due to this being a checkbox,  and returning in array format, i needed to test for '[Yes]'.

I'm all set now! thanks again.

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 May 30, 2018 in Marketplace Apps

Three tips for boosting your board's efficiency with Story Maps

Trello is one of the most effective tools for driving your sprints. It's customizable for every Agile team and product owners and Scrum masters (SM) love it. However, Agile teams often struggle with:...

840 views 2 9
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