Expressions are widely used throughout reports to retrieve, calculate, display, group, sort, filter, parameterize, and format data.

Many report item properties can be set to an expression. Expressions help you control the content, design, and interactivity of your report. Expressions are written in JavaScript, saved in the report definition, and evaluated by the report processor when you run the report.

Unlike applications such as Microsoft Office Excel where you work with data directly in a worksheet, in a report, you work with expressions that are placeholders for data. To see the actual data from the evaluated expressions, you must preview the report. When you run the report, the report processor evaluates each expression as it combines report data and report layout elements such as tables and charts.

As you design a report, many expressions for report items are set for you. For example, when you drag a field from the dataset to a table cell on the report design surface, the text box value is set to a simple expression for the field. In the sample video, the ticketsList dataset displays the fields summary, issuetype, created, reporter, priority, etc.. Some of the fields like key, issuetype, summary, etc. has been added to the table. The notation [key] on the design surface represents the underlying expression =Fields.key.

  • Any valid JavaScript expression syntax can be used in expressions.
  • To access all the available fields, "Fields" object can be used. (Eg: Fields.summary,
  • Additionally, in Custom Report, to access current field, "this" can be used.
  • Some of the native functions and custom utility functions are available within expressions.
  • If an object is returned by the expression, then it is converted as JSON and displayed within the cell.

Native functions

  • Some of the JavaScript native functions are available for use directly in expressions.
  • Available Functions List: parseInt, parseFloat, isNaN, Math.*, Date, Number

Utility functions

Utility functions are set of pure functions which lets the user to use it in expressions to do some common tasks. This utility functions are further classified as Common functions and My functions. Common functions are by default provided by report builder which are common for all the reports. Report builder also allows the user to write their own functions and use it in expressions which are categorized under My functions. You can read more about Common functions here.

Note: As of now, user defined functions (My functions) would not work if you are using Jira Assistant as a browser extension. But it would work in Web version and desktop versions.

Syntax: CommonFunctions.formatDate(new Date())
Syntax: MyFunctions.getSomeData()