Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduction
The Automation Toolbox for Jira expression parser provides over 200 functions and operators to read, manipulate and filter data from Jira issues, users, groups, projects and more.
Among the long list of functionalities, the parser functions support setting and/or updating field values, issue filtering, date and time calculations, string manipulation and the execution of mathematical operations.
The expression parser has been in constant development since 2009 when it was first introduced in Jira Workflow Toolbox. Since that time, the expression parser has seen constant development, improvement, and extended functionality.
Tip |
---|
All full list of supported functions can be found here: Expression Parser 201 - All functions |
Main Features
The expression parser has two major core functionalities:
- Extend accessibility to
- issue
- system
- project
- version
- component
- and user data through the use of Virtual Fields
- Provide a set of operators and functions to
- read
- filter
- extract
- manipulate
- write
- update related data
Field codes and usage
Excerpt Include | ||||||
---|---|---|---|---|---|---|
|
Virtual fields
Excerpt Include | ||||||
---|---|---|---|---|---|---|
|
Tip |
---|
All comprehensive overview of all available virtual fields can be found here. |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Info | ||
---|---|---|
| ||
Numeric field codes are only available for number fields, date/time fields and countable virtual fields. |
Functions and Operators
Please use one of the following links for detailed descriptions of functions and operators.
Boolean expressions - Logical and conditional operators
- Numbers, Dates and Times - Mathematical operators
- List operators
Functions
- Issue data functions
- User, Group & Role functions
- Version functions
- Field history functions
- Selectable fields functions
- Mathematical functions
- Date-Time functions
- String functions
- String list functions
- Issue list functions
- Number list functions
- Cast functions
You can find all functions here.
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 .
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. The syntax depends on the parser mode and the context of the rule. Therefore the following table explains the different parsing modes. |
Code Block | ||
---|---|---|
| ||
#basic parsing mode %{trigger.issue.description} Last comment: %{trigger.issue.comment.last} #advanced parsing mode %{trigger.issue.description} + "\nLast comment: \n" + %{trigger.issue.comment.last} |
Parsing modes
There are multiple parsing modes available in the expression parser. The two most commonly used parsingmodes
are:- Basic: with this simple parsing mode you can write free text and insert field codes with format %{nnnnn} or %{nnnnn.i} anywhere in your text. These field codes will be replaced at runtime with the corresponding field values of the issue currently being processed
The Expression Parser offers you different modes to provide a flexible usage in certain places. You can calculate an issue due date depending on the current date or filter the issue sub-tasks by status to add a comment to those.
To update issue fields the parsing result will be cast to the expected value e.g. a user name will be cast to a user to update a user field like the assignee field.
String
Object
The basic parsing mode supports the usage of field codes. Field codes can be used to access issue field values.
Code Block | ||
---|---|---|
| ||
This is the issue summary: %{trigger.issue.summary} |
Field codes
Parser Functions
String
Object
The advanced parsing mode has a defined syntax that allows you to write functions to read and manipulate data from any issue in Jira. Field codes are supported as well as clear text, written in quotation marks.
Code Block | ||
---|---|---|
| ||
"This is the issue summary:" + %{trigger.issue.summary} + " and the assignee mail is: " + userEmail(%{trigger.issue.assignee}) |
Field codes
Parser Functions
Number
Date
Date Time
The mathematical and date time parsing mode works like the advanced mode but expect a number as result instead of a string. The resulting number is used to updated numeric or date time fields. In case of date or date time fields the number will be cast to a date.
Code Block | ||
---|---|---|
| ||
{trigger.issue.resolutionDate} - {trigger.issue.createdDate} |
Field codes
Parser Functions
true
false
The logical parsing mode works like the advanced parsing mode but expression result must return true or false.
Code Block | ||
---|---|---|
| ||
{trigger.issue.assingee} = {trigger.issue.reporter} |
Field codes
Parser Functions
issue list
Field codes
Parser Functions
Field codes
Parser Functions written in three curly braces
Div | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
|