Skip to content

See where your Jira work spends its time.

Jira records every status change, but reads it back one issue at a time. Search the history of a whole project, sprint or JQL query in one place, see how long work sits in each status, and find the issues nobody has touched in weeks.

Built forTeam leadsScrum mastersEngineering managers
How the work flows
  1. Your issuesProject, sprint, JQL or keys
  2. Change historyEvery field change, by anyoneIssue History+ for Jira
  3. Time in statusMedian, 85% within, SLAsIssue History+ for Jira
  4. ReportCSV, Excel or PDF

What changes when you look at history

  • Audit

    Finding who changed a field means opening each issue's History tab in turn.

    One search shows every change across the issues you pick, grouped by issue, project, author or field.

  • Bottlenecks

    Nobody can say how long work waits in review, only that it feels slow.

    Each status shows the typical time per visit and the time 85% of visits finish within.

  • Stuck work

    Forgotten issues surface when someone asks about them at a status meeting.

    Insights lists issues that are not done and have had no status change for 7, 14 or 30 days.

  • Reporting

    History is copied out of Jira by hand for a retrospective or an audit.

    Export the history and time in status as CSV, Excel or a PDF with your logo.

From a search to a time in status report

Issue History+ for Jira reads Jira's own changelog as the signed-in user. Nothing to configure in your workflows and no extra fields.

  1. Search the history

    Pick a project, sprint, issue type, assignee, reporter, label and date range, write a JQL query, or paste a list of issue keys.

    Issue History+ for Jira
  2. Read the changes

    Group them by issue, project, author or field, or read them as a feed. Summary and description edits show word-level differences.

  3. Check time in status

    Each status shows the median time per visit, the time 85% of visits finish within and the number of visits. The per-issue table sorts by any status, so the longest waits come first.

  4. Look for stuck work

    Insights shows cycle time, issues completed per week, inactive work, reopened issues, rework and SLA breaches for the same search.

  5. Share the result

    Export to CSV, to an Excel workbook with history, time in status and status timeline sheets, or to a branded PDF report.

Searches teams run first

Paste the JQL into the JQL search mode, adjust the project keys and statuses, and open the view shown.

  • Where the sprint's time went

    Time in Status, sorted by one status

    Time per status for the current sprint, sorted by In Review, to see whether work waits on reviewers.

    project = APP AND sprint in openSprints()
  • Who changed priorities this month

    History, grouped by field

    Every priority change in the last 30 days, with who made it and what it was before.

    project = APP AND priority CHANGED AFTER -30d
  • Bugs that came back

    Insights, reopened and rework

    Bugs that left Done at least once, and how often work moved back to an earlier stage.

    issuetype = Bug AND status CHANGED FROM Done AFTER -90d
  • Open work nobody is moving

    Insights, inactive work

    Unfinished issues in the project with no status change for 14 days or more.

    project = APP AND statusCategory != Done

The app

Each one installs on its own from the Atlassian Marketplace and runs on Atlassian Forge.

Jira's History tab, and Issue History+

NeedJira on its ownWith the app
Change historyThe History tab on each issue, one issue at a timeEvery change for a project, sprint, JQL query or list of issue keys in one search
Time in statusNo per-status time report across a set of issuesMedian and 85th percentile per status, per-issue breakdown, calendar time or business hours
Stuck workA JQL query on the updated date, which any edit resetsNot done and no status change for 7, 14 or 30 days
Undo a changeEdit the field again by handRestore for status, assignee, priority and summary
ExportCSV of current field valuesCSV, Excel or branded PDF of the history and time in status
PermissionsJira permissionsJira permissions; people only see history for issues they can browse

Questions

How do I see time in status in Jira?

Jira stores every status change in the issue's history but has no report of time per status across a set of issues. Issue History+ for Jira reads that history and shows, for each status, the median time per visit, the time 85% of visits finish within, and a per-issue table you can sort by any status.

How is time in status calculated?

From the moment an issue enters a status until it leaves it, with the first status starting at the issue's creation date. Repeat visits to the same status are added up per issue. Statuses are grouped by their Jira category, so custom statuses count correctly.

Can I count business hours only?

Yes. In Settings, choose business hours, set the working day and whether weekends count. Business hours use each viewer's local time zone, so for figures compared across time zones, calendar time is the safer choice.

How do I see the history of many Jira issues at once?

Search by project, sprint, assignee, label, JQL or a list of issue keys, then group the changes by issue, project, author or field. Each issue's own history is also in its Activity section, under Issue Insights.

How do I find stuck issues in Jira?

Insights lists issues that are not done and have had no status change for 7, 14 or 30 days. You can also set an SLA threshold per status and see which issues went over it.

Are comments and work logs included?

No. History comes from Jira's changelog, which records field changes. Comments and work logs are not field changes, so they do not appear.

Can I undo a change from the history?

For status, assignee, priority and summary, Restore puts the field back to its earlier value. It uses Jira's normal edit and transition permissions, and a status Restore needs a workflow transition to the earlier status.

Does my Jira data leave Atlassian?

No. The app runs on Atlassian Forge and declares no egress. Every request runs with the signed-in user's permissions, and the only things it stores are each user's saved searches and settings.

More guides