Traffic Light KPI Custom Field
The Traffic Light KPI custom field lets you store a numeric value per issue and display it as a visual indicator in three colors β π΄ red, π‘ yellow, and π’ green β resolved from configurable thresholds per context.
It is designed to represent KPIs, service levels, response times, progress percentages, risks, or other indicators where the numeric value matters but, above all, it is important to communicate at a glance whether the situation is good, intermediate, or critical.
This section describes how to create the field, configure thresholds for each context, and understand the indicator behavior.
Create the Traffic Light Fieldβ
-
Navigate to Jira Administration > Issues.
-
In the left sidebar, under Fields, click Custom fields.
-
Click Add custom field in the upper-right corner.
-
On the "Select a field type" screen, open the Advanced category and select Traffic Light KPI. Click Next.
π‘ You will recognize it by its description: "Numeric field that renders a colored indicator (red/yellow/green) based on configurable thresholds per context." and by its preview image (the three traffic light bulbs).

-
Name and Description:
- Enter a Name for the field (for example, "Compliance level", "Project risk", "Response SLA").
- Add an optional Description. This text appears below the field to guide users.
-
Click Create.
-
Associate with screens: Jira will ask you to select the screens where the field will appear (create, edit, view). Select the appropriate ones and click Update.
From this point on, the field will be available on the configured screens. However, the indicator will not yet show colors: you must configure thresholds in each field context (next section).
While a field context has no thresholds defined, stored numeric values render in gray (no state). This is intentional: it avoids communicating a color that could lead to misinterpretation until the administrator defines the business rule.
Configure Thresholds (Per Context)β
Traffic Light thresholds are always associated with the active field configuration context (FieldConfigContext). This means you can define different thresholds per project or issue type, depending on the contexts you have created for the field.
Threshold Modelβ
Each context requires two numeric values:
- Red max β Maximum value considered red. Any value less than or equal to this threshold renders a red indicator.
- Yellow max β Maximum value considered yellow. Values greater than
Red maxand less than or equal toYellow maxrender yellow. Values greater thanYellow maxrender green.
The applied rule is:
| Issue value | Resulting color |
|---|---|
value <= Red max | π΄ Red |
Red max < value <= Yellow max | π‘ Yellow |
value > Yellow max | π’ Green |
| Empty value / context without thresholds | βͺ Gray (no state) |
In this version the model assumes higher values are better (for example: test coverage, progress percentage, NPS). If your KPI works the other way around (where a low value is desirable, for example: response time or number of incidents), model the thresholds by inverting the meaning of the range or use an intermediate calculation. A native "lower is better" mode is planned for future releases.
Invariantβ
The editor enforces: Red max < Yellow max. If you enter values that do not respect this relationship, the form will reject the save with an error message.
Steps to Configure Thresholdsβ
- Navigate to Jira Administration > Issues > Custom fields.
- Locate the Traffic Light field you created and click the actions icon (
β―) > Configure. - On the field configuration page you will see the list of associated contexts. For each context, an additional row called Thresholds is provided by this add-on.
- In the Thresholds row:
- If the context has no thresholds yet, you will see the text "No thresholds configured. Values render gray."
- If thresholds are already defined, you will see a summary such as "Red max: 30 β Yellow max: 70".
- Click Edit to the right of the Thresholds row.
- In the Edit Traffic Light KPI Thresholds form:
- Enter the Red max value.
- Enter the Yellow max value.
- Click Save.
After saving you will return to the field configuration page and the Thresholds row will show the new summary. Issues associated with that context will begin rendering the indicator with the corresponding colors.
Example: Compliance KPI (0β100)β
Suppose a Traffic Light field named "Compliance level" expressed as a percentage:
- Red max:
30β from0to30is considered critical (red). - Yellow max:
70β from31to70is considered at risk (yellow). - Greater than
70β adequate compliance (green).
If the same field is reused across multiple projects with different tolerances, simply create one context per project and define independent thresholds in each.
Possible Validation Errorsβ
The editor validates input and shows specific messages when:
- Either field is empty β "This field is required."
- The entered value is not a valid number β "Please enter a valid number."
Red maxis greater than or equal toYellow maxβ "Red max must be strictly less than Yellow max."- The context cannot be resolved (uncommon; usually occurs when opening the form via an expired URL) β "The field configuration could not be located. Please return to the custom field configuration page and try again."
Rendering on the Issue Viewβ
When an issue has a numeric value stored in the Traffic Light field and its context has thresholds defined, the add-on renders a three-bulb indicator (green, yellow, red) accompanied by the field's numeric value. The lit bulb reflects the color resolved by the thresholds and an accessible aria-label describes the state for screen readers.
The indicator appears in:
- The issue detail view (fields side panel).
- The issue navigator column view, gadgets, and boards (compact mode, ideal for listings).
Search Support (Searcher) and JQLβ
The Traffic Light field is registered with Jira's standard Number Range Searcher, enabling searches and filters by numeric range. This allows you to:
-
Filter issues by value from basic search (equals, greater than, less than, etc.).
-
Use the field in JQL queries, for example:
"Compliance level" < 30
"Compliance level" >= 70 AND project = "ACME"where
Compliance levelis the name you assigned when creating the field.
JQL queries operate on the stored numeric value, not the resolved color. To list, for example, "all red issues" combine JQL operators with the same context thresholds: "Compliance level" <= 30.
Values are indexed automatically as issues are created or updated; no additional configuration is required.
Internationalization (i18n)β
All administrative and interface texts for the Traffic Light field (field name, configuration row, threshold form, error messages, and accessible labels) are internationalized and respect the Jira user's language, with Spanish and English support included in the package.