You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

This type of read-only custom field has a value which is dynamically calculated from a custom math/numeric expression. It can be used to obtain a numeric value depending on the value of other fields in current issue or in any other issues (linked issues, sub-tasks, epics, stories, JQL selected issues, etc).

Configuration

Math expression

This parameter contains a valid math expression that will be calculated each time the value of the field is required.

Example 1 : Calculated Number Field "Number of Blocking Issues"

In this step by step example we show how to create a calculated number field called "Number of Blocking Issues" that will return the number of unresolved issues, the current issue is linked to "is blocked by" issue link type.

Create a new Calculated Number Field custom field called "Number of Blocking Issues"

Head over to Administration → Issues

→ Custom fields → Add custom Field → Advanced → Calculated Number field (by JWT)

On the configuration screen of the newly created custom field go to Actions and click on Configure

Click on Edit Math/Time Expression

Configure the field by entering a math/time expression. Learn more about JWT expression parser. After the configuration, click on Save

The math expression used in this example is: count(filterByResolution(linkedIssues("is blocked by"), ""))

To achieve this, the following functions are used:

Finally, the configuration of the new custom field should look like this:

Example 2: Calculated Number Field "Time to Due Date"

In this example we configure a calculated number field that will show the remaining time for Due Date following the same previous step in the first example, except at step 4 use the following math-time expression : {00012} != null ? max({00012} - {00057}, 0) : null

where {00012}  is code for Due date, and {00057} is code for Current date and time.

To achieve this, the following functions are used:

  • Conditional operator ?:
  • max() is used to avoid returning a negative duration when the Due date has passed.

We select duration as display format, since the numeric value being calculated, a number of milliseconds, represents a time duration. This way the value is represented like Time to Due Date: 2d 9h 43m instead of a single number.

We also check parameter "Uninitialized when calculated value is zero", since we don't want the field to be shown once Due Date has been reached.

Finally, the configuration of the new custom field should look like this:

Example 3: Field to show time since issue creation resolution

In this example we configure a calculated number field for showing the time elapsed since issue creation to issue resolution. For issues which are still not resolved, the field will be uninitialized, thus it won't be shown in the view screen, following the previous steps in the first example, except at step 4 use the following math-time expression:

{00112} != null ? {00112} - {00009} : null , where {00112} is code for Date and time of resolution, and {00009} is code for Date and time of creation.


To achieve this the following functions are used:

  • Conditional operator ?:

We select "Duration with short format" as display mode. This way, the string value of the field will be something easily readable, like 1d 11h 30m, but the numerical value will be the duration expressed in milliseconds.

Other display options are available:

  • Duration with long format: we get something like, 1 day, 11 hours, 30 minutes.
  • Use time tracking settings: we get duration displayed using the number of working hours per day, and the number of working days per week as configured in time tracking, instead of 24 hours per day and 7 days per week.

Finally, the configuration of the new custom field should look like this: