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.