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 17 Current »

Introduction to Jira expressions

Jira expressions can be used to evaluate custom code in the context of Jira entities. It’s a domain-specific language designed with Jira in mind, evaluated on the Jira Cloud side. Jira expressions follow JavaScript syntax. You can think of them as a JavaScript dialect. Jira expressions uses a data model loosely inspired by Jira's REST API JSON model. You can learn more about the various data types supported by Jira expressions here, and explore them interactively on the Data Types help tab of the Jira expression editor. To quickly find out how to access a particular issue field, you can visit the Issue Fields help tab. Finally, to find out which global ("context") variables can be used in an expression, visit the Global Variables help tab.

On this page:

Jira expressions in JMWE for JIRA Cloud

Jira expressions in JMWE for Jira Cloud are used to insert information in

You can insert issue, transition and current user information into the conditions using Jira expressions. 

Scripting features in Jira expressions

To learn more about Jira expressions:

Limitations of Jira expressions

Jira Cloud enforces the following stringent limitations while using Jira expressions. This section explains them in context to JMWE. For more information, see the official Jira expressions documentation.

  1. The expression's length is limited to 1,000 characters or 100 syntactic elements.
  2. Limitations inside the Jira expressions written by users: The expression can execute at most 10 expensive operations (expensive operations are those that load additional data, such as entity properties, comments, or custom fields). For example, A condition that checks for a version 1.0 on every issue linked to the current issue.

    issue.links.every(link => link.outwardIssue.versions.every(ver => (ver.name == "1.0"))) 

    Evaluation will fail if there are more than 10 linked issues.

  3. No error reporting: If a Jira expression evaluation returns an error, the error is not reported/logged anywhere. Since any non-boolean value, including an error, will be considered as false the condition will fail. However, you can see the error when you test the Jira expression against an issue in the Jira expressions editor. For example: When you write a condition to check that the linked issue has the multi-select custom field has the value "Database" selected:

    linkedIssue.customfield_10401.any(it => it.value == "Database")

    the condition when tested will return the following error:

    You need to instead use the "some" property to check that the specific value is selected.

    linkedIssue.customfield_10401.some(it => it.value == "Database")
  • No labels