Versions Compared

Key

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

...

...

Abstract

This code snippet checks the value of a standard or custom multi-valued type field (typically a multi-select field). The multi-valued fields can either be a collection of objects or a set of values.

Logic

Iterate over the array of objects or set of values and check a specific field for the required value.

Snippet 

For multi-select fields:

Code Block
languagegroovy
linenumberstrue
//Run a loop on all the selected options of the field and find the desired option
issue.get("<Name of the field>").any{
  it.getValue() == "<Value of the field>"}
Placeholders
PlaceholderDescriptionExample
<Name of the field>

Name of the multi-select field

Checkboxes

<Value of the field>Value of the option

Verification done

For multi-versions/users/components/groups fields (e.g. Fix Version/s):

Code Block
languagegroovy
linenumberstrue
//Run a loop on all the selected options of the field and find for the desired object
issue.get("<Name of the field>").any {
  it.getName() == "<Name of the desired version>"}
Placeholders

Placeholder

Description

Example

<Name of the field>Name of the multi-valued version fieldfixVersions
<Name of the desired version>Name of the version to find2.0

For Labels field:

Code Block
languagegroovy
linenumberstrue
//Run a loop on all the selected labels of the field and find for the desired label
issue.get("<Name of the field>").any {
  it.getLabel() == "<Desired label>"}
Placeholders

Placeholder

Description

Example

<Name of the field>Name of the labels fieldlabels
<Desired label>Label to findUse-case

Examples

The output of the code is a boolean value (true or false) which you could use to 

  • Calculate and display a flag on the issue view screen if the issue has been flagged. For this, you will need to write a Groovy script to check that the issue has been Flagged and based on the result display a Flag using a Velocity template. See here for the use case.

    Code Block
    languagegroovy
    linenumberstrue
    return issue.get("Flagged")


  • Check the issue has 5.0.0 as an Affects Version/s

    Code Block
    languagegroovy
    linenumberstrue
    issue.get("versions").any {
      it.getName() == "5.0.0"}


References

Filter by label (Content by label)
showLabelsfalse
max5
spacesKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "jmcf-2" and type = "page"
labelsjmwe-groovy jmwe-server

...