Welcome to the tutorials that teach you writing simple to complex Groovy scripts in the Jira Misc Workflow Extensions add-on.
Panel | |
---|---|
On this page:
|
Pre-requisites
Before starting this tutorial you should have completed the
- Basics of Groovy tutorial or already familiar with the basic Groovy concepts and hence skipped it
- Groovy in JMWE, to know the usage of Groovy in JMWE add-on
Objective
By the end of this tutorial:
- You will have a local Jira Server instance with workflow extensions having scripts. However, note that the end product is not a complete functional workflow.
- You will learn to write Groovy scripts in JMWE
About the tutorial
This tutorial guides you through the following chapters:
Child pages (Children Display) |
---|
- Jira 7.0.0
- Install JMWE
- Workflow to experiment with Groovy in JMWE
- Create a Task Management Workflow
- Create a Project Lead
- Create a custom field "User who made the transition"
- Create one issue
- Create a linked issue
- Create a subtask
- Assign the issue to the Project lead if the priority of the ticket is High or Critical
- Add Set field value pf
- Select the value as PL
- Add CE - issue.get("priority").getName() == "High" or issue.get("priority").getName() == "Critical"
- Store the author of the transition
- Add the Set field value pf
- Select the custom field
- Add GE - currentUser
- Save the workflow.
- Remove JMWE post-function
- Save it and share the XML
- Fetch the key of the issue
- issue.getKey()
- Provide reference to the issue variable and the getKey() method
- What do you get as the output - Refer the expected value of each field type document.
- What can I do with this Groovy script result? - that is a String
- Either add this as a comment/Set a field that expects a String as input.
- Simple condition - Check whether a text field is empty or not
- issue variable - Reference to variables documentation
- Standard field, Access standard field doc reference
- Custom field, Access custom field doc reference
- Compare the value to the required value
- Use if() or
- Optimize the code by returning the result of the comparison
- Check the current user is a specific user
- currentUser is the variable. - Reference to variables documentation
- Explain its return value, and how to get the name of the user. - Reference to User interface
- Return the result of the comparison to the specific username
- Check the priority of the issue
- issue variable - Reference to variables documentation
- Standard field - Expected input type of this field - Refer expected field type document
- Issue interface - getPriorityObject() or get("priority")
- Priority interface - getName()
- Standard field, Expected field type - Check the priority - Priority object
- Since it is an object, it has properties to look up to
- Priority interface- refer