Hi community,
I need to measure the time a ticket spends between different statuses (e.g., from “Open” to “In Progress”, from “In Progress” to “Resolved”) and also the total time from creation to closure, using only native Jira Service Management Cloud features, without Marketplace apps.
I know SLAs can track time between two statuses, but that requires creating one SLA per transition and doesn’t provide a global view of time in all statuses or the full lifecycle.
Is there any native way to get reports or visualizations for this? Any workaround without external apps?
Thanks for any advice!
Hi @David Martínez López
You can use Jira Rest API's to extract this data or if you would be interested in a mktplace app for this requirement, you can try out
With this app you generate time in each workflow status for multiple issues with multiple filter and grouping options.
The "Time in Status" report with Status grouping feature, and the "Time between Statuses" report can help to meet your use case of calculating the issue cycle times.
Disclaimer : I am part of the app team for this add-on
I understand you might be looking for a native solution or a workaround, but I’d like to suggest a tool that was developed exactly for this kind of request—to easily measure transition times and cycle times without complex setups.
You might want to try Time Metrics Tracker: Time Between Statuses.
It allows you to configure specific status transitions and automatically calculates the duration for each issue.
Even if you aren't actively searching for an app, it’s worth a look because:
It is free for teams of up to 10 users.
There is a 30-day free trial for larger teams.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @David Martínez López ,
Your best bet with native features is Jira Automation. However, it won't be retroactive, and it will be hard to maintain and require manual calculation.
I know you said you are not looking for a marketplace solution, but I am sharing a good fit, just in case. If you want to avoid the complex Jira Automation setup and get historical data instantly, Timepiece - Time in Status for Jira has all the features you asked for, and more.
Its Duration Between Statuses report allows you to measure both of the things you asked for in a single view:
You can calculate the duration between any statuses (e.g., from Open to In Progress).
You can define your Cycle Time by selecting your start and end statuses and calculate it using a custom calendar (to exclude nights/weekends).
The report calculates these durations automatically using your issue history, so it works for all your past tickets immediately.
You can check Timepiece on the Atlassian Marketplace. Hope this helps.
Full disclosure, I'm on the team that makes Timepiece - Time in Status for Jira.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Unfortunately, I don’t see an easy way to achieve this without using Marketplace apps, as Jira does not provide built-in reports or dashboard gadgets for measuring the time spent between statuses.
You could try using the Jira's reports like Time to Resolution or Control Chart, but I'm not sure of they help too much.
Another possibility would be to try using Jira Cloud REST API to retrieve the issues along with their changelog events and then perform your own calculations—perhaps in Excel or using a script—to determine the time between statuses. However, this approach is quite complex and prone to errors.
If you reconsider using Marketplace apps, our Great Gadgets app can calculate this for you with minimal effort.
Danut
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Unfortunately, you can't out of the box. You will have to look into plugins such as time to sla, time in status, eazybi, and many others that have the capability to track what you need.
Regards,
Fabian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you very much, @Fabian Lim , for your response. We are currently using eazyBI, but I can’t find a clear option to generate that report. Could you please guide me on how to achieve this?
I really appreciate your help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I escalated the question to eazyBI’s AI, and it provided a configuration that was very helpful. I’m sharing it in this post in case it can help others. Many thanks to everyone for your responses.
Report Configuration by Status Category
Key difference from the previous report:
Instead of showing time for each individual status (e.g., "Open", "In Progress", "Resolved"), this report groups statuses by their categories.
Steps to create the report:
Optional: Filter by specific categories
Additional dimensions in Pages:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @David Martínez López
Thank you for posting the solution and I am happy to hear you found our AI colleague and found the response useful :)
In addition, I wanted to let you know that there is an alternative solution as well, which may fit your use case even better. You could consider utilizing the Issue Cycle functionality (you can find the documentation here - https://docs.eazybi.com/eazybi/data-import/data-from-jira/issue-cycles) where in the import options you define the statuses you want to consider in your cycle to calculate time, and after you import the data, you will have multiple measures automatically created based on the statuses you defined. You can read more about it in the documentation page and also what measures become available.
Best wishes,
Elita from support@eazybi.com
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I note that many Time in Status / Activity and Reporting/BI apps have been suggested. These are good for measuring how long issues spend in individual statuses, but they typically lack the process visualisations and actionable insights needed to understand what’s really happening.
What they don’t show is how work actually flows end-to-end — including rework loops, back-and-forth transitions, waiting vs. working time, and overall process predictability. Process mining reconstructs the real paths work items take through Jira and presents them visually, rather than analysing statuses in isolation.
For transparency: I’m the author of AI Process Optimizer for Jira, which includes full time-in-status and transition analysis, and goes further by providing process mining visualisations and AI-generated insights to identify bottlenecks, rework, and prioritised improvement and automation opportunities.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In Jira Service Management Cloud, the time between statuses — and the total cycle time — depends on how your workflow is designed and when an issue is considered “resolved.” Jira itself doesn’t define cycle time for you, because every organization structures workflows differently.
So the key idea is:
(e.g., “Waiting for Support → In Progress → Waiting for Customer → Resolved”)
To calculate this, you normally define a cycle — which is simply a group of statuses that represent your process.
Time in Status Reporter for Jira was built by our company exactly for this use case.
It lets you:
You select which statuses belong to the cycle — for example, everything from “Work Started” through “Resolved.”
This is really powerful:
✔ Global cycles (Admin-Defined)
Admins can create standardized cycle definitions that apply across the whole organization — perfect for consistent reporting.
✔ User-Defined cycles (Personal)
Individual users can also define their own cycles, depending on their role or reporting needs — without affecting anyone else.
Both types are stored in Forge storage, so they’re persistent and reusable.
Once a cycle is defined, the app reports:
⏱ Time between individual statuses
📊 Total time spent inside the cycle
🔁 Average time in cycle across issues
👤 Assignee time in status
📥 Status entrance timestamps
#️⃣ Status occurrence counts
📤 Exportable performance reports
So if you want Time to Resolution, you simply include all statuses from “work started” up to the point where the Resolution field is set. The app then calculates both the total and average automatically.
Regards,
Petru
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.