Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Abstract

This code snippet sets a Checklist/Multi-select type field with certain options based on the name of the option.

...

Code Block
languagejs
linenumberstrue
def regExp = ~/^(?i).*<Text to match in the option>.*/
issue.getAvailableOptions("<Name of the field>").findAll{
  it.getValue().contains("<Text in the option>"matches(regExp)
}

Placeholders

PlaceholderDescriptionExample
<Name of the field>Name of the field of type Checkboxes/Select list(multiple choices)Tasks list
<Text in the option>Text the options must contain to be selectedInstallation

...

Code Block
languagejs
linenumberstrue
def regExp = ~/^(?i).*installation.*/
issue.getAvailableOptions("TasksInstallations list").findAll{
  it.getValue().containsmatches("Installation"regExp)
}

Context

The output of the code is a Collection<Option> which you could use:

  • To set a Checkboxes/Multi-select field in :
    • one of the Set Field Value post-functions
    • one of the Transition issue post-functions on the transition screens, if any
    • the Create issue post-function under Set fields of new issue section
  • To include the Checkboxes/Multi-select field values in the Comment in one of the Comment issue post-functions
  • Subject/HTML body/Text body of Email issue post-function
  • JQL search expression of Link issues current to issueusing the toString() method to the result
  • In a conditional execution using the asBoolean() method to the result of the script to
    • Run a post-functionfunction 
    • Run a condition
    • Run a validator
    • Unlink issues

Use cases

A typical use case would be to - Select the Installation tasks in the Checkboxes/Multi-select type field when all the Installations are done

Reference

...