Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.1.0
Panel
borderColorred
titleColorwhite
titleBGColorred
borderStylesolid
titleVon in the beginning übernommen

there was Jira Workflow Toolbox (JWT) and now, almost ten years after the initial public release, used by more than 4000 active customers and 140 versions later, comes its natural descendant, Automation Toolbox for Jira .

The team at Decadis took a long time planning the development of Automation Toolbox for Jira as this new app had some very major prerequisites to fulfill - namely providing as much known and proven JWT functionality as possible in a non-workflow environment. It has been a daunting task, but, we hope for you as a user, worthwhile. Even though you need no prior knowledge of JWT to use Automation Toolbox for Jira, you can depend on the functionality designed and developed with many years of Jira app experience.     

Where JWT has used the slogan "Turn your ideas into workflows" for many years, ATJ will hopefully help you to "Turn your ideas into automatisms" wherever and whenever these are appropriate. The possible use-cases are endless.   

To get started, please continue to the ATJ Fundamentals, a summary of the primary functions and the terminology used by ATJ

The Expression Parser Syntax Specification

Automation Toolbox for Jira uses a powerful expression parser for interpreting expressions with logical, mathematical, date-time and string-text terms. This parser is a fundamental part of the app, and is used by various features in the app. The parser offers very similar functionality to the expression parser known to Jira Workflow Toolbox users. There are some differences, mainly in field code usage and the lack of ephemeral fields. 

You can use the provided parser functionality with a number of triggers, conditions, actions and selectors.      

The following is a simple example of parser usage for the Condition → Boolean Condition where the condition will return true  if the issues Due date is greater than the current date.

Image Removed 

Note

The available Selectors, Conditions and Actions depend on the selected Trigger.

There are five types of expressions that can be parsed:

  • Mathematical and Time: returns a number. When it represents a Date or Time, it returns the number of milliseconds elapsed since January 1, 1970, 00:00:00 GMT
    Examples:
    • (1 * 2) / 3
    • {...duedate} + 2 * {HOUR} : adding 2 hours to Due Date
    • round(({...duedate} - {...currentDateTime}) / {HOUR}) : calculate the number of hours from Current date and time to Due Date.
  • Text-String: returns a string. This kind of expressions is used in advanced mode of the Action Update Field .
    Examples:
    • "Hello" + " " + "world" + "." : concatenating 4 string literals.
    • trim(%{...summary}) : removing leading and trailing blanks from Summary.
    • %{...description} + "\nLAST USER: " + toUpperCase(%{...currentUser}) : adding to Description a new line with string "LAST USER: " and the name of current user  in upper case.
Boolean (also known as Logical): it returns a logical value true or false .
Examples:
  • %{...cf10005} = "Yes" : compares the value stored in a field with literal string "Yes".
  • datePart({...duedate}, LOCAL) > datePart({...currentDateTime}, LOCAL) : returns true only if Due Date (field code {...duedate}) is later than Current date (field code {...currentDateTime}) in server's local timezone.
  • %{...cf10020} != null AND %{cf10021} = null : returns true only if {...cf10020} field is initialized and field {...cf10021} is not initialized.
  • timePart({...currentDateTime}, LOCAL) >= 8:00 AND timePart({...currentDateTime}, LOCAL) <= 17:30 : Current time (field code {...currentDateTime}) is between 8:00 AM and 5:30 PM in server's local timezone.
    Issue List: is used for selecting issues (is much like JQL) within Automation Toolbox for Jira expressions, and returns a list of issues.
    Examples:
  • subtasks() : returns the list of sub-tasks of current issue.
  • linkedIssues("is blocked by, is caused by") : returns the list of issues linked to current one through issue link types "is blocked by" and "is caused by".
  • filterByIssueType(linkedIssues(), "Bug, Incident") : returns the list of linked issues with issue type "Bug" or "Incident".
  • filterByPredicate(siblingSubtasks(), %{...resolution} != null) : returns the list of sibling sub-tasks (i.e., sub-tasks of same parent as current sub-task) which are not resolved. 
    • String List: expression that returns a list of strings.
      Examples:
      • ["red", "blue", "green"] : literal definition of a string list with the names of 3 colors.
      • fieldValue(%{...summary}, subtasks()) : returns the list of summaries of sub-tasks of current issue.
      • toStringList(%{...components}) : returns a list with the names of the components in current issue. 
          

    Data types

    Excerpt Include
    Data types
    Data types
    nopaneltrue

    Operators

    Excerpt Include
    Operators
    Operators
    nopaneltrue

    Boolean expressions

    Excerpt Include
    Boolean expressions
    Boolean expressions
    nopaneltrue

    Numbers, dates and times

    Excerpt Include
    Numbers, Dates and Times
    Numbers, Dates and Times
    nopaneltrue

    Strings

    Excerpt Include
    Strings
    Strings
    nopaneltrue

    Issue lists

    Excerpt Include
    Issue lists
    Issue lists
    nopaneltrue

    Number lists

    Excerpt Include
    Number lists
    Number lists
    nopaneltrue

    String lists

    Excerpt Include
    String lists
    String lists
    nopaneltrue

    List operators

    Excerpt Include
    List operators
    List operators
    nopaneltrue

    Selectable fields

    Excerpt Include
    Selectable fields
    Selectable fieldsList operatorsList operators
    nopaneltrue

    Users, groups and roles

    Excerpt Include
    Users, groups and roles
    Users, groups and roles
    nopaneltrue

    Versions

    Excerpt Include
    Versions
    Versions
    nopaneltrue

    Historical field values

    Excerpt Include
    Historical field values
    Historical field values
    nopaneltrue

    Versions

    Miscellaneous 

    Excerpt Include
    VersionsMiscellaneousVersions
    Miscellaneous
    nopaneltrue

    Miscellaneous 

    Functions to temporarily store and retrieve values

    Excerpt Include
    Miscellaneous
    Functions to temporarily store and retrieve values
    Functions to temporarily store and retrieve values
    Miscellaneous
    nopaneltrue


    Div
    styleline-height: 150%;
    idtocContainer
    classtocContainer


    Panel
    borderColor#333f48
    bgColor#FFFFFF
    titleColor#eeeeee
    borderWidth1
    titleBGColor#333f48
    borderStylesolid
    titleOn this page

    Table of Contents
    maxLevel1
    indent20px
    classp