Hi,
I have the below scripted field to sum up estimates. It works fine mostly until one of the estimates contain a '0' at which point the script fails to display anything.
import com.atlassian.jira.issue.CustomFieldManager import com.atlassian.jira.ComponentManager; import com.atlassian.jira.issue.fields.CustomField CustomFieldManager cfManager = componentManager.getCustomFieldManager() def product_mangament_estimate cfManager.getCustomFieldObject(27922)?.getValue(issue); def estimate_1 = cfManager.getCustomFieldObject(13524)?.getValue(issue); def estimate_2 = cfManager.getCustomFieldObject(19222)?.getValue(issue); def estimate_3 = cfManager.getCustomFieldObject(34032)?.getValue(issue); def estimate_4 = cfManager.getCustomFieldObject(34033)?.getValue(issue); if ( (estimate_1) && (estimate_2) && (estimate_3) && (estimate_4) && (estimate_5)) return ((estimate_1 + estimate_2 + estimate_3 + estimate_4 + estimate_5)).round(0) else { return null }
Any ideas?
Thanks,
Gaj
Well - you have a condition which will go into the else if any of the values is 0. In the else clause you return null and nothing is shown. The following boolean expression:
(estimate_1) && (estimate_2) && (estimate_3) && (estimate_4) && (estimate_5)
will return false if any of the variables has a value of 0.
Zero is a valid value - the problem is in your expression - "if (integerVar)" returns false for 0. If you want to check that the value is not null or not numeric, then you need something else - check out this thread for possible solutions.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
google for "groovy truth" ... if you want to check for null use (est == null)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.