Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

How to track amount of time spent in status


My company is running Jira Cloud and we are trying to improve our reporting and metrics.

We are trying to determine:

1. How long each ticket has spent in each particular status 

2. Amount of times a ticket was sent to a particular status. (Not just the tickets currently in a particular status, but if a ticket has ever been in a certain status)

Essentially, we are hoping to understand how long a ticket is spending in Pull Request and also (separately) how many times a ticket has been reopened (per epic, per assignee, etc).

Is there a plugin or a report/query I haven't tried that can help with this?

Any help would be greatly appreciated. Thanks!

22 answers

I think it is ridiculous that such a simple item isn't available out of the box

It really is. Developers ask me for this all the time, and every time, I can't believe how difficult it is to accomplish something that should be so simple.

Like # people like this

I wonder if there are still plans around this on 2020...

2021, still not available.  Still ridiculous.

Like # people like this

Not sure if anyone is still watching this post.  I'm looking to do something similar without having to buy extra plugins. 

If you have script runner already installed you could try extending the code below to get all statuses of an issue 

I did this at a previous company to get a quick and dirty solution. Not pretty but helped in exporting to excel and running stats through PowerBI.  Happy to share script if anyone is interested

I'm looking to check out the solution below, which is python based.

The article references the "jiraone" python package, which you can find here if you needed to check teh code wasn't doing anything funky

Like # people like this

2022 now.  Still paying 3rd party companies for ultra basic ticket system functionalities.  It'd be faster to write our own ticket system from the ground up than wait for Jira to be ready for Prod, it seems.

Like # people like this

I will second Anthony's comments. This should be built in. I tried the time in status add on, and I do like it. But my problem is that you cant really use it. The data is visible, but you cant export it, put it in a usable custom field, or anything. Just look at it. In my use case, I would like to use it to display the time in the current status in the Kanban view. Also use the color coding function in Kanban view to have a color gradient reflecting time in status for the Kanban.

Very disappointing that they cant roll out something so simple. It seems that there are TONS of people asking for it. A company should listen to their customers.

Like # people like this

Created an account to come complain. 5 years later and it's still not available. Seems simple yet now I'm spending a ton of time and the only official answer from Atlassian is: "go find an app that someone else made" for a standard report.

Like Fabian Laqua likes this


Thanks for your reply! While helpful in a way, the information I really gleamed from this is that there is currently no solution for Jira Cloud.

Both Time in Status and Jira Suites Utilities appear to be Jira Server only solutions. While Jira Charting plugin does come free and pre-installed on Jira Cloud, the documentation points out in step three that "(Optional) Install JIRA Suite Utilities Plugin, so that you can monitor each issue time in a status." I will continue to play with the Average Time in Status plugin, however I fear that it won't satisfy the particular needs of my organization and asks from leadership. 

Hope you have a great weekend,



@Dana GouldHi Dana, Hope you are doing great, I was looking for this same need and couldn't find any other solution.  Wanted to check with you if you were able to capture Time Spent in each Status in some way for Cloud Version.




I am looking for the same solution @Dana Gould. It would be great to hear about your progress with this.

Kind Regards


This plugin ultimately did the trick for me.  This should be built-in to JIRA.

Like # people like this

I'd like to try it but will never pay 2.50€ per User for that. The pricing for Add ons is ridiculous, especially for a BASIC function like this.

Like # people like this

can you view the data in graphs on the dashboard from Time in Status?

I'd also like to know the answer to this... if JQL can be pulled from Time in Status to make filters to feed dashboard gadgets like Resolution Time. 

So the data that I was dealing with was on a kanban board, so my partner and I just ended up making an iframe and sticking the control chart for that board on a dashboard. It's probably not the best solution, but it gave the reporter a way to break down cycle time from status to status, see the outliers, pull in filters, etc. Not sure if that's helpful. Good luck!

Like Jamie McCarogher likes this

Hi@David Loszewski

The add-on Time in Status for Jira Cloud by SaaSJet has been updated recently. Now you can also view all reports as charts (Pie, Bar and Area Charts). Also, you can add this data on your Jira Gadget.

In addition, there are new reports: assignee time, average time, status entrance date, time in status per date

You can check the full information about the new features at Atlassian Marketplace.

Like # people like this

Hi Dana,

There is an add-on by OBSS called Time in Status that may be of assistance and you can create reports based on issue creation date. In addition you may also want to try the Jira Suite Utilities in conjunction with the Average Time in Status gadget

In addition there is another communities post that provides some hints other users have found when using the Average Time in Status gadget.

Let me know if that helps.



Hi Branden,

Link to "JIRA Suites Utilities" is broken.


Hello @Dana Gould

I am happy to inform you that the original Time in Status app by OBSS now has cloud support:

  • Our app creates reports on how much time each issue spent on each status, assignee or user group.
  • Number of time each status or transition was used.
  • View durations in days, hours, minutes, etc.
  • Include issue fields in your report.
  • Export data as CSV, XLS or XLSX.
  • Calculate time or count averages, grouped by multi level issue fields that you select.
  • Define your own business calendars.

We now have Server, Data Center and Cloud options.

Like # people like this

Will this app work in conjunction with being able to query time in status for an automation with Automation for Jira? 

I am trying to query the amount of time our tickets stay in a closed status so I can move them to an archive project so we keep out instance cleaned up. Unfortunately I have hit a big curb with not being able to query the amount of time tickets have been in closed status thus an automation to move these items will not work.  I want to move tickets that are in a closed status for 3 months.. 

Does anyone know of a way to query this?

Yes, you can use Time in Status by OBSS for this case too. It does not matter if the status transition was done by a user or by automation. As long as you can see the transition in issue history, you can use Time in Status by OBSS to report on it.

By the way, you may get the issues that were closed more than 3 months ago and not updated since, by a JQL query like below without any plugins:

project = ABC and status = Closed and updated < -12w and status changed to closed BEFORE -12w
Like # people like this

Thank you so much I was racking my brain to find that for a while. 

Time/Days in Status is a very common request so I spent a little time ironing out a reasonably simple solution.  This will provide a dedicated "Days in Status" field.  It does require an add-on, but it's the free version of Automation for Jira.  This best suits Jira Server, but does work on Cloud as well.  Just be aware that the free of version of the cloud add-on has a monthly limit on rule executions.  

Quick, easy, and FREE way to create a "Days in Status" field for Jira Server or Cloud 

Hi @Jonathon S  - we are looking into this and would like to review how you accomplished this; however we cannot view your confluence page.  

Like Tomasz Skalniak likes this

interest here as well.

Jonathan, your site is secure; therefore we cannot access the content in your link. :(

Many thanks - reading it with details

Hi Jonathan, I'm unable to access your link above. Please could you help?


apologies!  should be all good now.


Please note:  For those unaware, Atlassian purchased Automation for Jira and has begun offering the automation rules described in my how-to guide as an out-of-the-box cloud feature.  I have not verified which version or tier this applies to but, as far as I know, the tool itself will still function as described in my guide (just some of us won't need to install the add-on anymore).  I will update the page soon once I've dug a little deeper into this!

To elaborate on your "please note," my understanding is that the breakdown is as such (at least for Cloud):

Jira Software Free:

  • 300 monthly rule executions
  • No multi-project or global rule functionality

Jira Software Standard:

  • 2,000 monthly rule executions (Jira Service Desk has 5,000 monthly rule executions)
  • No multi-project or global rule functionality

Jira Software Premium:

  • Unlimited monthly rule executions
  • Full multi-project and global rule functionality


Can you give me a permission for cloud version of your addon "day in status"

Hi everyone, glad this has helped some people!  


However, please note: at this point, this guide is likely out-of-date for some people. 

Due to (how quickly) changes to automation for jira and cloud in general have been rolled out, I am no longer confident these steps will accomplish exactly what it was initially created to do.  I will try to update it soon! 

Hi @Jonathon S 

We implemented something like that over a year ago, and found it quite successful.  Often the trick to implement is in the details...There are several edge cases when measuring time-in-status using automation rules: measure granularity, manual edits by people, skipping status values during transition, backward flow, performance-errors in the REST API breaking automation, etc.  Not blockers; just things to be mindful of their impacts in the solution.

I look forward to seeing your updated post to see how it compares to what we built.  Thanks!

Best regards,


@Jonathan S hi, we now moved to Cloud Jira and eager to try your solution, but have again lost access to that video!

hi @Jonathon S , please can you provide me access to the confluence page.

I am also trying to get such data for my jira project but do not want to spend on the add-ons.

Hi @Jonathon S could you please share the acess with me too? I used your article as a guide 1-2 y ago, and suddenly don't have access to it anymore

Hi I have requested access as this is something we would like to do. Thanks!

Hi @Dana Gould! I'm in desperate need of exactly this. Did you finally find a solution? If yes - please share!    

@Dana Gould and @Jones Please let me know as well. Thanks.

Hello! I actually moved companies which is why I unintentionally forsaken this thread. At my new company, we are still looking at ways to measure this information. We looked at the Time in Status plugin by OBSS, but so far find that it runs on a 24 hour clock and hasn't been that useful or helpful. 

What we have been moving more and more towards is Jira Service Desk and using the Cycle and Lead Times along with the SLA other other reporting functionality that comes with this. Another additional pro is that the customer vs "agent" functionality has added a nice facelift to our intake process. Some cons have been the customer vs agent functionality in terms of additional training, start up time, and trouble shooting. Also the additional cost of another Atlassian program that charges per user (customers are free, but you pay per agent and any JSD plugin charges you based on how many Jira users you have).

The time in status mentioned in the sub-thread above is JSD-specific and looks like it could add even more granularity.

Hello @Dana Gould ,

I wish you success in your new company. I also want to correct a misunderstanding.

Time in Status by OBSS does not only work on a 24 hour calendar. You can define multiple custom calendars, each with its own working days, working hours and time zone.


@Emre Toptancı _OBSS_ 

Thanks Emre. That's great news! Can you explain how to set that up?

We have actually installed your plugin a month ago and have been playing with it a bit, but hit a bit of a wall since we are unable to get your documentation to load for us. 

(" took too long to respond. ... ERR_TIMED_OUT")

This may be a firewall issue on my company's end, but it does make configuration difficult. 

Hello @Dana Gould ,

As you said, your firewall might be preventing access. We sometimes see similar issues with other customers as well.

When you install Time in Status by OBSS there are two default calendars. One is the 24/7 calendar and the other is the Default Business Calendar (with working hours as Monday-Friday from 08:00 to 17:00). 

You will see a settings menu on the top right corner of Time in Status screen in the shape of a cog. Using this menu you can directly go to Calendar settings. The same screen can be found under Jira Settings >> Apps >> Time in Status >> Calendar Settings. Please note that to access Calendar Settings, you will need to have admin priviliges on Jira.


Using the Calendar Settings screen you can change the Default Business Calendar or create as many different calendars as you need.


All those calendars will be available for selection in Time in Status screen, under the Calendar button on the right side of the toolbar. (Screenshot below)


The documentation for the cloud version of Time in Status by OBSS can be found here:

If you have more questions, please do not hesitate to contact our support team directly by sending an email to or by visiting



Like Dana Gould likes this

This is absurd. A kanban tool where you can't readily see processing time per state.


Rather than another jira plug in how about just buying leankit which is a kanban tool, interfaces to jira and has reports like this out of the box including tickets going backwards, another desired feature in jira 

You can find the time spent on status by going to Report -> Control Chart -> select the status you want to see -> then identify the story number you want the time for ; It will show you the time spent on each status per story.

You can use Status Time add-on. It generates status time report based on your working calendar.

If you are looking for a free solution, you can try Status Time Free.

Hi, for the status time free add on, how can we access the data in a report or see the report in the list view for multiple issues to export the information?

Bloompeak Support Marketplace Partner Jan 29, 2021

Hi @Shailja Ginoria ,

In the free version, reporting (list view for multiple issues) is available but it is limited to 10 issues. For the full list, you need Status Time app.

I can have a session and can explain the usage of the app details in a live demo. Please contact us over

This code is very rough, but this is solution I came up with for my company. I capture the date the issue was created, the day it moved into acceptance status, and then calculate whether or not it met the SLA based on (acceptance status - open status). It also calculates based around weekends. You can plug in essentially any status and find out the status to status time, but it's a huge pain and building metrics off this script is essentially impossible.

import com.atlassian.jira.component.ComponentAccessor
import java.sql.Timestamp
import java.time.DayOfWeek
import java.text.SimpleDateFormat
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue;

def myIssue = issue.getKey()
Issue issue = ComponentAccessor.getIssueManager().getIssueObject("$myIssue")

def workingDays = 0

String date = new Date().format( 'yyyy-MM-dd' ).toString()
SimpleDateFormat sdf_cDate = new SimpleDateFormat("yyyy-MM-dd")
Date cDate = sdf_cDate.parse(date)
Timestamp timestamp = new Timestamp(cDate.getTime())

def acceptance = ComponentAccessor.getChangeHistoryManager().getChangeItemsForField(issue, "status").find {
it.toString == "Acceptance"

def startDate = (issue.getCreated() as Timestamp).toLocalDateTime().toLocalDate()
def currentDate = (timestamp as Timestamp).toLocalDateTime().toLocalDate()

def weekend = EnumSet.of(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY)

if (acceptance) {
def acceptanceDate = (acceptance as Timestamp).toLocalDateTime().toLocalDate()

if (acceptanceDate.isBefore(startDate)) {
return null

while (startDate.isBefore(acceptanceDate) || acceptanceDate.equals(startDate)) {
if (!(startDate.dayOfWeek in weekend)) {
workingDays += 1

startDate = startDate.plusDays(1)

if (!acceptance) {
if (currentDate.isBefore(startDate)) {
return null

while (startDate.isBefore(currentDate) || currentDate.equals(startDate)) {
if (!(startDate.dayOfWeek in weekend)) {
workingDays += 1

startDate = startDate.plusDays(1)

This is exactly the information we are after as well.


Key reason is that it would help to identify bottlenecks, and also the impact of improvements that we make to address these resource issues.


We achieved a similar report before by creating an app that would download this information from the Jira API and to a Mongo DB, and then another app would parse the DB to get the results as @Dana Gould has raised.

It would be nicie if there was a default way in Jira to get this information.

This is way back. But I hope you can respond.

What did you query exactly.


Take for instance I want to measure how much time it takes to transition from "to do" to "in progress"

Like CHERI C likes this

I’m in the way back machine too!  

I’m trying to measure how much time all issues within a certain period of time, spent in each status so I can find bottlenecks and measure remediation. 

@Mukama and @CHERI C , I have a free tool that is capable of exactly what you both need to do. It's called the Enhanced Jira Query Tool. It is a Google Sheets application that leverages the Jira REST API to retrieve data from Jira. It can retrieve any field and its respective properties from Jira. It also has special derived fields not available in Jira such as time in status, cycle/lead time, working time, waiting time, and unplanned work to name a few. You can find the tool along with other free tools I have created on the Agile Creatives Tools page. There is a demo video and usage guide for all the tools. I have also created a training video on Udemy for the Enhance Jira Query Tool.  Here is a coupon that will allow you to enroll in the course for free for the next 3 days. I hope this helps you both. Please let me know if you have any questions.



Is it possible to create an advanced JQL using keyords like WAS and DURING?

Something like:

status was "Waiting for customer" DURING (-1w , -1w) and status = "Waiting for customer" and updated<-1w



Is there a request raised with JIRA for a solution on this?

This can be done in Basic Search and solved it for us:

statusCategoryChangedDate <= -3d AND status = "open"

statusCategoryChangedDate <= -5d AND status = "in progress"



Select "More than X days" 

Workflow needs to switch between to do and in progress status categories (white and blue)

Daniel Eads Atlassian Team Mar 17, 2021

Hi everyone,

In the interest of brevity, I’ll mention that there are many resourceful solutions using scripts / spreadsheets scattered around the thread. If you have time and are interested in scripted solutions, please have a look at some of the options provided by other clever Jira users.

Jira’s built-in reporting functionality offers what we believe is the necessary featureset for the vast majority of teams. While this may not address the entire set of features your team may want, we believe the core product addresses the needs of most teams while offering the ecosystem the ability to extend Jira. Many marketplace apps exist - both free and paid - that add a range of features to Jira’s reporting capabilities. I encourage you to take a look at the options to consider what most fits your team’s needs:

Additionally, if you are on Jira Cloud Premium or Enterprise and interested in connecting other BI tools such as Tableau to Jira’s data, please check out the Early Access program for the Atlassian Data Lake.

Daniel | Atlassian Support

Hi @Daniel Eads 

What is the purpose of having an indicator for "Atlassian Recommended" answers to questions which can displace the voting provided for the community for other answers?

That mechanism seems redundant and to violate the spirit of a community-based support forum.  Thanks for any information you can provide on this feature.

Best regards,


Daniel Eads Atlassian Team Apr 16, 2021

Hi @Bill Sheboy , you can read more about how we use this indicator on its announcement post here. In short, we want to make sure that highly-viewed threads have clear, helpful, and complete solutions as close to the top as possible. Data for this question indicates there were problems for folks finding information they were after (many people clicked "No" on the "Was this helpful?" banner).

Like Josh Simnitt likes this

Thanks for the explanation, @Daniel Eads Although I have never associated that "Was this helpful?" banner with any specific posting.  It seems to appear when the page paints, regardless of anything changing, or not changing, on a page and so probably cannot be used to accurately inform any selection of a recommendation.  The voting seems a much more accurate and targeted method of identify valuable information.

Best regards,


I replied to this thread a while back, but I have added additional capabilities, documentation, and training since then. I have a free tool that makes getting time in status very simple. It's called the Enhanced Jira Query Tool. It is a Google Sheets application that leverages the Jira REST API to retrieve data from Jira. It can retrieve any field and its respective properties from Jira. It also has special derived fields not available in Jira such as time in status, cycle/lead time, working time, waiting time, and unplanned work to name a few. You can find the tool along with other free tools I have created on the Agile Creatives Tools page. There is a demo video and usage guide for all the tools. I have also created a training video on Udemy for the Enhanced Jira Query Tool.  Here is a coupon that will allow you to enroll in the course for free for the next 3 days. I hope this helps. Please let me know if you have any questions.



Hi All

You may want to try out the plugin, Agile Tools : Epic Tree & Time in Status 

It provides 3 major functionalities in one add-on

  • Time in Status Reports
    • Time in Status
    • Time with Assignee
    • Time in Status with Assignee
    • Time with Assignee per Status
    • Status/Assignee Count
    • Multiple Transition Reports
  • Epic Hierarchy
  • Link Hierarchy



Epic Hierarchy Screen_Server_Latest.PNG


Link Hierarchy.PNG

We've faced with the same problem/need in our company. The best FREE solution in the Market - is 'Timentify' plugin: 

It's not yet offering extensive reports, but it's ideal for getting an instant info for a given issue. Using this one. It does exactly what we need. Can't wait for the reporting feature.

Thanks Eugene. How do you use this plugin? I've installed it but what next?

There's a standard jira plugin available by atlassian - Jira Charting - 

It provides chart widgets for time in status.

This is only for resolved issues. Not issues currently in flight.

This may work for the first question

Reports > Time Reports > Report Drop Down Menu > Time in Status

I created a filter, modified the date range, and added additional status categories to get all the status time information I needed.

Where were you able to find this menu? I do not see "Time Reports" within the project reports dashboard

I am using Jira Software, not Service desk unfortunately

Article is applicable for Jira Software too / relevant to Next-Gen projects.

Need this feature in JSD server too please. Basic functionality again. 

We have time stamps for each transition but no report? Seems weird

I believe the Control chart would be able to tell you the time its spent on each status.  Is that what you are looking for in #1?

Like Guillaume DELEPLACE likes this

Did you try "Time Reports" from "Prime Timesheet"?

There is a Cloud version and it seems to fit your needs.



Suggest an answer

Log in or Sign up to answer

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you