Our new Appfire Documentation Space is now live!

Take a look here! If you have any questions please email support@appfire.com

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »


Welcome to the tutorials that teach you writing simple to complex Groovy scripts in the Jira Misc Workflow Extensions add-on. 

On this page:

Pre-requisites

Before starting this tutorial you should have completed the

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:

  • Prepare the environment
    • 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
  • Tutorial - My first Groovy script
    • 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.
  • Tutorial - How to write a condition - The result of a scripted condition is a boolean. It can be used either to Control the execution of a post-function or Control the availability of a condition or Validate the input during a transition.
    • 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
  • Tutorial - Safe access a field - To explain on how to avoid null pointer exceptions
  • Tutorial - How to return a simple value - 
  • Tutorial - 
  • No labels