Time in Status Tracker docs

Set up the app, understand each report, and see exactly how Jira time-in-status numbers are calculated.

Time in Status Tracker

Time in Status Tracker shows how long Jira issues sit in each status, measured by your own working calendar, and flags what is stuck before it breaches. This page explains how to set it up and what each number means.

Jira Cloud Forge SLA Cycle time Stuck issues

Getting started

After installing, open Apps → Time in Status Tracker. The app opens on a Quick Start panel with four steps:

  1. Pick your issues. Choose a Project, a Sprint, a saved Filter, or write raw JQL.
  2. Choose a report. Status Duration, Duration Between Statuses, Count, SLA, or the flat Issues list.
  3. Set your calendar. Decide which hours count as working time.
  4. Find what is stuck. Sort or filter by risk, and set your thresholds under Risk rules.
Nothing resets between visits: scope, report, filters, format and calendar are remembered.

Reports

Status Duration

A matrix of issue × status showing time spent in each status, with a pinned Totals row and an Average-per-issue row. Switch to the chart view for stacked columns, bars, line or pie.

Duration Between Statuses

Cycle and lead time between any two statuses, given as average and median across the issues that actually completed the path. Issues that never made the transition are excluded rather than counted as zero.

Count

How many times each issue re-entered each status, plus total transitions. This is the rework a duration report cannot show: an issue can spend little time in Review yet pass through it four times.

SLA

Treats your Risk-rule thresholds as targets. Shows compliance percentage, counts of on-track / at-risk / breached, time to breach per issue, and names the worst offender.

Issues

A flat list of what is stuck right now, sorted by risk, with per-issue drill-down. Every row states why it is flagged.

How time is calculated

Durations come from each issue's changelog, not from estimates or sampling. The app reads the full status history and measures the real interval between transitions.

A working calendar decides which of those hours count. Configure business days and hours, add holidays, and pick an IANA time zone — the calculation is DST-safe, so an hour is not lost or doubled when clocks change.

One day in every duration format equals your configured working-day length. If Business Days is 9 hours, then "1d" means 9 hours in the readable format and in d h m s alike, so the two never disagree.

Exclude current state stops the unfinished visit in the current status from being counted, which is useful when comparing completed work.

Trim History limits every interval to a date window, so you can ask "how much time did these issues spend in each status during last month" rather than over their whole life.

Risk rules

Set Watch and Critical thresholds in hours. A rule can be global, or scoped to a project, a status, or both. The most specific rule wins: a project-and-status rule beats a project rule, which beats a global one.

These thresholds do double duty — they colour the risk column in reports and they define the targets used by the SLA view.

Issues in a Done status are never counted as stuck, whatever their age.

Dashboard gadget

Add Time in Status Tracker to any Jira dashboard. Each gadget is configured separately: pick its project, choose Status Duration or the Radar view, set the duration format, and apply a Focus filter. Copy CSV is built into the gadget, so no page needs to be opened first.

Issue panel

Open any issue and look in the Activity tab, next to Comments and History. The panel shows the per-status breakdown for that one issue, including the full transition history with dates and the person behind each move.

Exports

CSV export always matches what is on screen — the current view, filters, metric and duration format. The Status Duration export also carries the Totals and Average-per-issue rows.

Reproducing a number

Every report footer echoes the exact JQL it ran, the generation timestamp, and the issue count. Anyone can paste that JQL into Jira and get the same set of issues, which is what makes the numbers arguable in a meeting.

Limits

A single report covers up to 1,000 issues. This is a safety limit: the app runs entirely inside Atlassian's Forge runtime, which gives a function a fixed time budget per request.

When a scope exceeds the limit, the report says so with a banner rather than silently truncating, and the footer shows the real total so you know how much was left out. Narrow the scope with JQL or a date window to stay inside it.

Not available today: REST API export, .xlsx with aggregate formulas, Assignee Duration, multiple named calendars, and scheduled or emailed reports.

Privacy and security

The app runs entirely on Atlassian infrastructure and has no backend of its own. It reads Jira with read-only permissions, as the signed-in user, and stores only its own settings. See the Privacy Policy and the Security Policy.

Support

Questions, bugs and feature requests: slavgo.dev/atlassian/support/.