Need to get Multislect Values

Pushparaj Bhaskaran June 16, 2014

Hi,

I need to get the multiselect values which the user has selected using groovy script . Here is what I have done.

CustomField cfRBIENV = customFieldManager.getCustomFieldObjectByName("RBI-Environment")

List<Option> options = (List<Option>)cfRBIENV.getValue(issue);log.warn("Size " + options.size())
for (int i = 1; i <= options.size(); i++) {
Env=options[i].toString() + " " + Env

}

1 answer

0 votes
Vijay Khacharia
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 16, 2014

Hi Pushparaj,

This looks correct except for the loop I would start from i = 0 and go until i < options.size().

I tried it and works fine.

Vijay

Pushparaj Bhaskaran June 16, 2014

Yes but I need only the selected values . SUppose I choose two values 1st and 3rd in the options , it shows the size has 2 , but when I print the values I get the first value , but the second in the options list is null .Hence need to print only the selected value in the multiselect.

Vijay Khacharia
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 16, 2014

Hi Pushparaj,

Here is the script. It gives the selected values.

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.customfields.option.Option
import org.apache.log4j.Logger
import org.apache.log4j.Level

issueManager = ComponentAccessor.getIssueManager()
issueFactory = ComponentAccessor.getIssueFactory()
customFieldManager = ComponentAccessor.getCustomFieldManager()
Env = ""
issue = ComponentAccessor.getIssueManager().getIssueObject("TEST-123")

customFieldManager = ComponentAccessor.getCustomFieldManager()
CustomField cf1= ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Impact Arch. Layer")
Logger log = Logger.getLogger("com.onresolve.jira.groovy.createStreamRequirement")
log.setLevel(Level.DEBUG)

List&lt;Option&gt; options = (List&lt;Option&gt;) issue.getCustomFieldValue(cf1)
log.warn("Size " + options.size())
for (int i = 0; i &lt; options.size(); i++) {
Env=options[i].toString() + " " + Env
log.debug options[i].toString()
}
log.debug Env

Suggest an answer

Log in or Sign up to answer