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.
Getting started
After installing, open Apps → Time in Status Tracker. The app opens on a Quick Start panel with four steps:
- Pick your issues. Choose a Project, a Sprint, a saved Filter, or write raw JQL.
- Choose a report. Status Duration, Duration Between Statuses, Count, SLA, or the flat Issues list.
- Set your calendar. Decide which hours count as working time.
- Find what is stuck. Sort or filter by risk, and set your thresholds under Risk rules.
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/.