Versions Compared

Key

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

...

...

...

...

...

...


Welcome to the JMWE add-on specific tutorials which are practical guides using Groovy scripting for creating advanced workflows. This collection of tutorials show you how to accomplish certain functional use cases with Groovy scripts in the workflow extensions of JMWE.

Note

You will need a fresh test Jira Server instance, which you will restore from a backup in the next step.



Panel

On this page:

Table of Contents


Pre-requisites

Before starting this tutorial you should have

...

basic knowledge of

Objective

By the end of this tutorial:

  • You will have a local Jira Server test instance with workflow extensions having Groovy scripts.

...

  • (warning) Note that the end product is not a complete functional workflow.
  • You will

...

  • have a good understanding of how to use Groovy in the JMWE add-on.

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

...

excerptTypesimple