I'm using Jamie's wonderful script runner but I'm not a coder and can't seem to get by the nulpointerexception.
So far I have this:
def urgency = getCustomFieldValue("Urgency")
def complexity = getCustomFieldValue("Complexity")
def need = getCustomFieldValue("Need")
def effort = getCustomFieldValue("Effort")
def result = (effort * complexity) / (urgency * need)
return result
Those 4 custom fields are all numeric and so is my script field (as well as the template and searcher are all set up as numeric).
I guess I need some sort of test to ensure that all of those numbers are not null before trying to do the calculation or else return null?
Can someone give me the code I need? Thanks...
Does the error only happen when one of them is zero? You also need to handle the case of them being zero, as well as null.
Try something like the following, if it doesn't work can you post the stack trace...
def urgency = getCustomFieldValue("Urgency") ?: 0 def complexity = getCustomFieldValue("Complexity") ?: 0 def need = getCustomFieldValue("Need") ?: 0 def effort = getCustomFieldValue("Effort") ?: 0 if (urgency > 0 && need > 0) { return (effort * complexity) / (urgency * need) } else { return 0 // or some very high number }
Hi,
Well it didn't blow up so that's a positive step forward. But it calculated 0 where it should have calculated 2.25 for the test issue. effort = 3, complexity =3 , urgency =2, need =2
;-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hrmmm... are the names exactly as you have them above?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ah...yes, one of the field names was not a duplicate of another type of field, so I have modified and it works like a charm! Thanks very, very much Jamie.
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.