Tech review

Style guide



On this page


Throughout the documentation we refer to data types that can be used in the expression parser and its functions.

Data types define what kind of data a function needs as input and what you should expect as output.


The most common data types

Data typeDescriptionExample

This type represents any kind of text or character string including all kinds of select and multi-select fields


Any field type or data type is susceptible of being transformed to text, so any field can be referenced as a text-string value using the following notation: %{...anyfield}, and %{...anyfield.i} for Cascading Select or Multi-Cascading Select fields, where i is the index that represents the level to be accessed. (i = 0 is used for base level).



"Hello world"

This type represents numeric values, and is also used to store Date, Time and Date-Time () values. When storing any temporal value, the number represents the milliseconds elapsed since January 1, 1970, 00:00:00 GMT.


Number or Date-Time fields can be referenced as numbers using the following notation: {...somefield}



1, 1.1, -1.1, .1, -.1

  • Number/Text list: This type represents a collection of numeric/text values returned by various functions. The size may vary from 0 to any number of numeric/text values. It is used to read the value of a numeric/text field in a selection of issues.
  • Issue list: This type represents a collection of issues. The size may vary from 0 to any number of issues. It is returned by issue selection of filtering functions.
  • Number/text: fieldValue(), append(), union(), except(), intersect() and distinct()(for both numeric and text values), [1, 2, 3]/["string_A", "string_B", "string_C"]
  • Issue list: subtasks(), linkedIssues(), transitionLinkedIssues(), filterByFieldValue(), filterByStatus(), filterByIssueType(), filterByResolution(), filterByProject(), append(), union(), except(), intersect() and distinct()

Comparison operators return a logical value true or false. isActive(text user_name)


Additional data types

You will find many data type references throughout the documentation that need to be explained in more detail. They all related to one of the categories above.


Data typeDescriptionExample

This type represents a user. The user is mapped to its Atlassian account ID, i.e. a 

557068:145e0983-5707-439c-80e4-1160dd57g114

This type represents a date value. A is mapped to a 

2020-06-15

This type represents a value that contain both date and time parts. A  is mapped to a 

2019-04-01T14:19:07.060+0200

This type represents the type of an issue and mapped to its name, i.e. a 

Improvement

This type represents the type of an issue and mapped to its name, i.e. a 

Open

This type represents the category of the status of an issue. It's mapped to a TEXT

Done

This type represents the priority of an issue. It's mapped to a TEXT

Critical

This type represents the project to which an issue belongs. A  is mapped to its key, i.e. a 

HR

This type represents the resolution of an issue. It's mapped to its name, i.e. a 

Won't fix

This type represents the security level of an issue. It's mapped to its name, i.e. a 

Classified




Data typeDescriptionExample









Data typeDescriptionExample

This type represents a list of users. The user is mapped to its Atlassian account ID, i.e. a 

557068:145e0983-5707-439c-80e4-1160dd57g114

This type represents a list of attachments. An is mapped to its filename, i.e. a 

file1.txt,readme.pdf,screenshot.png

This type represents a list of components. A  is mapped to its name, i.e. a 

Web Site,Authenticator,Statistics

This type represents a list of versions. A  is mapped to its name, i.e. a 

1.0,2.0,2.1

This type represents a list of labels. A is mapped to a 

web,customer,java,mobile



Casting (converting) data types

Casting (or transforming) data types is very important throughout all functions provided by JWT.

To be able to set, transform or calculate values it might be necessary to turn a text value to a number, a number or a timestamp to a text, and even individual text or number values to a list.

The following functions will help you to achieve that.


Available functions


Automatic casting from Number to Text-String

Whenever you write a numeric term at the right-hand side of concat operator + or a comparison operator like = , and the left-hand side is occupied by a text-string term, the parser will automatically transform the right-hand side term into a string

  • + (string concat): "His age is " + 30 is equivalent to "His age is " + toString(30)
  • = (any comparison operator): "30" = 30 is equivalent to "30" = toString(30)