Introduction to Groovy
Groovy is
an object-oriented programming language for the Java platform. It is
a dynamic language with features similar to those
of Python,
Ruby,
Perl,
and Smalltalk. It can be used as
a scripting language for the Java Platform. It is easy to learn, has smooth Java integration, vibrant and rich ecosystem and powerful features. To know more about Groovy, see
the official Groovy Documentation.
On this page:
Table of Contents |
---|
Learning Groovy
To learn more about the Groovy language:
Start with our Groovy tutorial: Groovy tutorial
Introduction to Groovy: See Learn Groovy in Y minutes and Learn Groovy in one Video
Tutorials - many tutorials are available online, such as TutorialsPoint, Groovy with SmartThings and The Groovy 2 Tutorial
References - See The Apache Groovy programming language and The Complete Apache Groovy Developer Course
Groovy in JMWE
Groovy
in JMWE
can be used
- Set a field value by the Set field value to a constant or Groovy expression and Set field value of linked issues post-functions.
- Create the body of the comment by the Comment issue and Comment linked issues post-function
- Execute a post-function conditionally in all post-functions that have Conditional execution
- Execute a condition in the Scripted (Groovy) condition
- Execute a validator in the Scripted (Groovy) validator
Column | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
Building Groovy scripts
You can learn writing groovy scripts either by going through the learning material or from the tutorials listed below:
Panel |
---|
Tutorials
|
Learning material
either to write a Groovy expression or a Groovy template in the workflow extension configuration.
Groovy expression results in JMWE are used in:
All post-functions with the Conditional execution section to execute a post-function conditionally
Target issues section of all post-functions that operate on related issues when Issues returned by a Groovy script or Issues returned by JQL search is selected under Which Issues field.
Scripted (Groovy) operation on issue post-function to execute a Groovy script against an issue
Scripted (Groovy) Condition to execute a condition
Scripted (Groovy) Validator to execute a validator
Comment issue and Comment linked issues post-functions to create the body of the comment by selecting Groovy expression as the Comment type
Create/Clone issue post-function to
Calculate a project by selecting Calculated in Project
Calculate a parent issue key by selecting Calculated in Parent issue
Set fields of new issue by selecting Groovy expression as the Value type and
Add a comment to the current issue by selecting Groovy expression as the Comment type
Multiple iterator section of the Create/Clone issue post-function
Set field value and Set field value of linked issues post-functions to set a field value by selecting Groovy expression as the Value type
Email issue post-function to
Write the Subject, HTML body, Text body
Set the Recipients from the script
Unlink issues from the current issue post-function to unlink issues based on the result of a Groovy condition
Admin screen to test/run Groovy scripts
Shared Groovy Scripts under JMWE administration
Writing Groovy scripts in JMWE
To learn how to write groovy scripts for JMWE, see:
Groovy editor - This document explains you the Groovy editor in JMWE where you can write your Groovy script or Groovy template.
Groovy expression - This document explains you the variables available for your Groovy scripts and how to create new variables in your Groovy scripts.
API Interfaces - The document details the API interfaces
Accessing the fields of an issue - This document explains you on how to access the fields of an issue.
Expected value for each field type when the value type is a Groovy expression - This document lists the expected values for each field type of your issue.
Groovy templates - This document explains you on how to write Groovy templates in the Groovy editor
Groovy script tester - This document explains
the Groovy script tester which helps you test your written script or template and debug it.