Tracking time-in-status per individual work item — best approach in Jira Cloud?
What I'm trying to achieve
I want to see, for every ticket, how long it spent in each status from creation through to Done — available both on the issue view and as an aggregated report across the project.
What I've tried
status CHANGED TO Done AFTER -3d OR status != Done to auto-drop Done items after 3 days. This works, but it's a board-level workaround, not actual time-in-status tracking.{{now.diff(issue.statusCategoryChangedDate).days}} plus a transition rule to reset to 0. This gives time in current status only, not a historical breakdown per status.What's missing from native Jira Cloud
My questions
Hey @Harry Foreman
First, welcome to the Community!
To get a reliable, historical per-status breakdown for individual tickets without complex workarounds, the most effective approach is to use a dedicated reporting app. Timepiece - Time in Status for Jira by OBSS is one of the most established and reliable tools in the Atlassian Marketplace for this exact use case.
Here is how it directly answers your needs:
Aggregated Project Reports: You can use the Status Duration Report to instantly generate a clean table listing all your issues. It shows exactly how much time each ticket spent in every single workflow status from creation to Done. Timepiece handles over 1 million issues per report smoothly, proving its enterprise-grade performance.
Note: After installation, you can create any report for past and ongoing issues with Timepiece.
Visibility on the Issue View: Timepiece automatically adds a dedicated Issue View Tab directly inside every Jira ticket. This lets you see the complete time-in-status history and charts for that specific work item without having to leave the page or run a project-wide report.
True Business Time: Instead of relying on a 24/7 clock that skews your data with weekends and nights, you can configure Custom Calendars. This ensures your reports only calculate actual working hours and business days.
Board Cards: Exposing dynamically calculated, historical time-in-status values directly onto the board card face is notoriously difficult in Jira Cloud, because card layouts rely on static custom fields. Instead of building fragile automation rules to constantly update custom fields, I recommend to using Timepiece's Dashboard Gadgets. You can place these highly interactive reports directly on your main Jira dashboard, giving you a centralized, real-time view of issue durations and bottlenecks, entirely bypassing the need to clutter your board.
Timepiece AI Assistant: Not sure how to configure a specific metric? Simply type what you're looking for, and the AI will provide a step-by-step guide along with a preconfigured link to generate it instantly.
Hope this helps. You can visit Timepiece’s Atlassian Marketplace page to learn more. Additionally, this community article outlines the primary features and report types that Timepiece - Time in Status for Jira provides.
Please let me know if you have any further questions.
Disclosure: I am part of the OBSS team, the creators of Timepiece.
Best,
Birkan
As suggested by Marc, you will need a mktplace app for these requirements. If you would like to try out one, pls explore
With this app you generate time in each workflow status for multiple issues with multiple filter and grouping options. It works for current issues and closed ones as well.
With Status grouping feature, can help you define your own cycle time / issue age time and view the averages of the same. Also the app has 20+ reports to meet a variety of use cases.
You can set your own working calendar to exclude weekends and holidays from the time in status calculation.
Disclaimer : I am part of the app team for this add-on
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You need a 3rd party app for this.
I don't use them, so on reliability I can't tell.
What I can give you is:
Note in relation to this, based on that Jira is related to agility, time in status measuring in my mind is not related and if this is really important, the Team Lead, Scrum Master or Product Owner should be the one to decide what to do with long time open issues.
A regular "backlog grooming" session should also help in this.
To keep a focussed backlog on what to deliver.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Harry Foreman ,
You've done a thorough job mapping out what's possible natively -- and you're right, Jira Cloud doesn't offer a per-status historical duration breakdown out of the box. The automation approach you built for "Days in Current Status" is about as far as native tools go.
Since others in this thread have already covered dedicated time-in-status reporting tools well, I'll offer a slightly different angle.
Time-in-status data is useful, but teams quickly hit the next question: "This ticket sat in Code Review for 5 days -- is that actually a problem, and what should I do about it?" Raw durations need context to become actionable.
That's the gap we built Work Item Health | Scores, Time in Status & AI Insights to fill. It gives you the time-in-status breakdown you're asking about, but adds health scoring and AI-powered insights on top -- so instead of scanning duration tables, you see which tickets need attention and why.
For your specific questions:
Per-issue time in status. Full historical breakdown by status category and individual status, with time bars and return counts, visible directly on the issue. No need to run a separate report.
Health score. Each work item gets an overall A-to-D grade based on lead time, cycle time, efficiency, blocked time, returns, and reassignments. A ticket that's been bouncing between statuses will surface immediately as a C or D without you having to dig.
AI Insights. One click from the issue panel. Surfaces patterns and flags risks specific to that ticket.
The whole thing lives as a panel on the issue view — no separate app window to open, no context-switching.
Here's what it looks like inside a real ticket:
You can try it here: Work Item Health on Atlassian Marketplace
Disclosure: I work at Y2 Release Management Apps, the team that built this app.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You’re absolutely right — this is one of the most common gaps in Jira. There’s no native way to track time in status per issue. Jira focuses more on workflow tracking than time analytics.
So if you need to measure how long an issue actually spends in each status, you’ll need a Marketplace app.
For example, the Time in Status app by SaaSJet (developed by my team) calculates time in statuses based on the issue changelog, not just the current state.
It covers exactly the use cases you wrote about:
- Shows how long each issue spends in each status
- Uses the full history (not just the current status)
- Provides 7 types of reports (tables and charts)
- Allows you to create Time in Status custom fields that can be added to board card layouts
If you have any additional questions, I’ll be happy to help 🙂
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.