Hi All,
I have the following code snippet to validate the custom multi select field. I am using the below code in 'Custom script Validator' during the workflow transition.
import com.atlassian.jira.ComponentManager; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.IssueManager; import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.MutableIssue; import com.opensymphony.workflow.InvalidInputException CustomFieldManager customFieldManager = ComponentManager.getInstance().getCustomFieldManager(); def textfield = customFieldManager.getCustomFieldObjects(issue).find {it.name == 'Text field 2'} custom = customFieldManager.getCustomFieldObjectByName("Test multi") List<Option> options = (List<Option>) custom.getValue(issue) for (int i = 0; i < options.size(); i++){ options[i] } if ( !issue.getCustomFieldValue(textfield)) { invalidInputException = new InvalidInputException("Test field 2 is required") throw invalidInputException }
I am not able to get the values in the multi select. I actually need to check for two values in the multi select. What I am doing wrong?
Thanks, Hemanth
Hi Hemanth
I would suggest something like that:
def targetVersionField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Test multi"); def options = issue.getCustomFieldValue(targetVersionField) as List<Option> def requiredOptions = ['Option 1','Option 4'] if (! ( options*.value.containsAll(requiredOptions) )){ throw new InvalidInputException("Field '${targetVersionField.getName()}' requires the following options: $requiredOptions") }
where 'Option 1' and 'Option 4' are the required options
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.