Versions Compared

Key

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


Excerpt

This tutorial will guide you through writing Groovy scripts that loop over collections.


Info

The snippets in this tutorial can be further simplified using Closures, explained in the next tutorial.

On this page:

Table of Contents
maxLevel1

Looping over a collection to find values that satisfy a condition

This section of the tutorial guides you through writing a loop to count the options of a multi-valued field that satisfy a condition. Imagine a functional use case where you want to display the number of released versions for a project.

Writing the script

Step 1 - Navigate to the condition

...

Step 2 - Write the script in the editor

  1. Write the following script in the editor.

    Code Block
    languagegroovy
    linenumberstrue
    def count = 0;
    for(i=0;i<issue.getAvailableOptions("versions").size();i++){
      if(issue.getAvailableOptions("versions")[i].isReleased()){
        count++
      }
    }
    count


Step 3 - Test your script

  1. Click on Test Groovy Script.
  2. Input the issue key GIJ-1
  3. Click on Test
  4. The following result will be displayed.
  5. Image Modified

Looping over a collection to find whether a particular option is selected or not

This section of the tutorial guides you through writing a loop to find whether a particular check box of a check box type field is selected or not. Imagine a functional use case where you want check whether Printing has been scheduled in the tasks.

Writing the script

Step 1 - Navigate to the condition

...

Step 2 - Write the script in the editor

  1. Write the following script inGroovy script.

    Code Block
    languagegroovy
    linenumberstrue
    def pass = false
    for(i in issue.get("Scheduled tasks")){
      if(i.value == "Printing"){
        pass = true
      }
    }
    return pass


Step 3 - Test your script

  1. Click on Test Groovy Script.
  2. Input the issue key GIJ-1
  3. Click on Test
  4. The following result will be displayed.

Next >> Using Closures