Tutorial on using Closures
This tutorial will guide you through writing Groovy scripts using Closures.
On this page:
Looping over a collection to find values that satisfy a condition
This section of the tutorial guides you through writing a Closure 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
- Go to the Administration icon and click on it.
- Locate Add-ons from the menu and click on it.
- Locate JIRA MISC WORKFLOW EXTENSIONS on the left panel.
- Click on Groovy script tester.
Step 2 - Write the script in the editor
Write the following script in the editor.
issue.getAvailableOptions("versions").findAll{ it.isReleased() }.size()
Step 3 - Test your script
- Click on
Test Groovy Script
. - Input the issue key
GIJ-1
- Click on
Test
- The following result will be displayed.
Looping over a collection to find whether a particular option is selected or not
This section of the tutorial guides you through writing a Closure 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
- Go to the Administration icon and click on it.
- Locate Add-ons from the menu and click on it.
- Locate JIRA MISC WORKFLOW EXTENSIONS on the left panel.
- Click on Groovy script tester.
Step 2 - Write the script in the editor
Write the following script in
Groovy script
.issue.get("Scheduled tasks").any{ it.value == "Printing" }
Step 3 - Test your script
- Click on
Test Groovy Script
. - Input the issue key
GIJ-1
- Click on
Test
- The following result will be displayed.