Hi
I am using Adaptavist Scriptrunner
I have some listener code to calculate an issue score based on the values selected in various custom fields. One of the calculations is to count the number of options selected in a custom multiselect field and based on the number add a certain value to the score field.
I don't seem to be able to find any sample code for this. Would appreciate some assitance.
Dave
The options in a multiselect are held in a collection, so you can actually just use size() to get it!
def myCf = customFieldManager.getCustomFieldObjects(issue).find { it.name == "My field name" }
def fieldContent = issue.getCustomFieldValue(myCf)
def numberOfSelections = fieldContent.size()
Hi Nic
Sorry - I only saw your response now.
If I try your code I get an syntax error on fieldContent.size(). Please see attached screenshot.
what am I missing?
Regards
Dave Cuff
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hmm. Could you try forcing the type by replacing the "def" on line 73 with "Collection" - this should stop the weak-typing that Groovy claims is useful, and force the variable to be seen as the type that it really is always going to be.
(I've come to hate languages that isn't strongly-typed or minimally typed - so... many... stupid... bugs...)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Looks like we have a challenge. Error in below screenshot. NB we are on JIRA 7.13.5 and Scriptunner 6.0.0. Not sure if this could be causing the error.
I have the following import commands.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.customfields.option.LazyLoadedOption
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Try Collection, not collection.
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.
Sorry I didn't pick this up 3 years ago.
The problem in the last post was now that the script can't know what object type the custom field is going to return.
Changing the forced type (which Java rightly insists on), to a variable one (which groovy allows for, making it much harder to write useful and clear code) will solve the problem. Try "def fieldContent =" instead of "Collection fieldContent".
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.