Hi everyone,
I’m trying to figure out how to calculate the total time each Jira issue spends in different statuses, like Open, In Progress, and Pending. Right now, I check the history manually and sum it up, which takes a lot of time.
I want something like a calculator that can automatically add up all the time spent per issue and give a total. Ideally, it should consider:
Time in each status
Time when the issue is on hold
Excluding weekends and holidays if possible
Is there a built-in way, an automation rule, or a marketplace app that can do this? Any tips or examples would be really helpful.
Thanks!
Hey @mr john
You have 3 options. However, for full precision and ease of use, a dedicated marketplace application is the most effective solution.
Native Jira
Native Jira reporting, such as the Control Chart or the Time Tracking Report, provides basic insights into issue lifecycles. However, these tools generally operate on a continuous 24/7 clock. So, non-working days may skew your data.
Custom Automation Rules
It is possible to use Jira Automation to track status entry and exit times by capturing timestamps in custom fields and calculating the difference. While this can create a basic "calculator," it has significant drawbacks:
Complexity: Excluding weekends, partial days, and local holidays requires highly complex scripting that is difficult to maintain.
No Historical Data: Automation rules only work forward; they cannot calculate durations for tickets that were closed before the rule was created.
Marketplace App
Timepiece - Time in Status for Jira is a professional-grade "calculator" designed specifically to automate status duration tracking. It uses your existing Jira history to provide immediate insights into both past and current projects.
Key advantages include:
Precise Calendars: You can create Custom Calendars to excludes weekends, holidays, and non-working hours (including lunch breaks) from all calculations to ensure 100% accuracy.
Comprehensive Tracking: Measures total time in each status (In Progress, Pending, etc) and to track exactly how long issues remain "on hold" or blocked.
Scheduled Reports and Alarms: With Timepiece, you can automate reports on a daily, weekly, or monthly basis to deliver to stakeholders via email, Slack, or MS Teams.
AI Assistant & Gadgets: Timepiece Assistant is an AI-powered helper that builds reports from natural language questions. So, no need for complex JQLs. Also, Timepiece provides dashboard gadgets for real-time monitoring.
Full disclosure, I'm on the team that makes Timepiece - Time in Status for Jira. To learn more about Timepiece, visit its Atlassian Marketplace page.
Best,
Birkan
Hi @mr john
If you would like to try out a mktplace app for this requirement, pls explore
With this app you generate time in each workflow status for multiple issues with multiple filter and grouping options.
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.
Hi @mr john ,
It is definitely time-consuming to manually calculate the time spent in each status from the issue history.
Unfortunately, Jira does not provide a built-in feature or native report to calculate the total time spent in each status per issue.
You can set up some automation, but it will still be limited.
Because of this, many teams use marketplace apps that are designed specifically for this use case. For example, Time in Status (built by my team) add-on provides reports on how much time each work item has spent on each status.
It helps to do the following:
Please let me know if you have any questions.
Hope you find it useful!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @mr john !
Unfortunately Jira doesn't really have a built-in way to do this properly. You can see the transitions in the History tab, but there's no "total time in status" summary anywhere native.
What most people end up doing is grabbing a marketplace app. A few options exist for instance, Time in Status by Oberon- pretty popular, shows time per status right on the issue view. My team has also developed our own solution - Report Builder, with a time in status tempaltes.
If you don't want to pay for an app, the other option is pulling data through the REST API. You can hit /rest/api/3/issue/{key}?expand=changelog and get all the status transitions with timestamps, then calculate the durations yourself. I've done this with a quick Python script before and it works, but it's more effort to set up and maintain. Something like Python's numpy.busday_count handles the weekend exclusion part.
There's also the automation route, you could create rules that log timestamps into custom fields whenever an issue moves to a new status. But honestly this only works going forward (no historical data) and gets messy fast if you have a lot of statuses.So I would either do my own scripting to calculate that, or use any applciation from the marketplace.
Hope it helps :)
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.