JQL is a powerful tool that allows users to search & filter issues in Jira. For project managers, scrum masters, and team leads, leveraging JQL to create time-in-status reports is a game-changer for monitoring workflows, identifying bottlenecks, and optimizing team efficiency.

Overview: Discover how to leverage JQL for tracking Time in Status in Jira. This guide walks you through using JQL to track flow metrics, identify bottlenecks, and optimize workflows.
Why are some tickets stuck in the queue, seemingly forever?
Why does your team’s delivery speed fluctuate wildly, making reliable forecasting feel like guesswork?
In the high-stakes world of agile development and service management, few metrics are as critical, and yet as misunderstood, as Time in Status Jira.
Herein lies the core challenge for Jira users: Jira Query Language (JQL) does not have a built-in function to directly calculate and filter issues based on an aggregate "Time in Status."
Native JQL can query history, but it cannot perform the complex math necessary to sum up the multiple chunks of time an issue might have spent in a specific status over its lifespan.
This article delves deep into the world of JQL for Jira time-in-status reports, equipping you with the knowledge and techniques to master this aspect of Jira reporting.
Time in Status for Jira is simple in concept: it is the precise duration an issue spends in a single step of your workflow, whether that step is In Progress, Waiting for Review, or Blocked. This metric is the fundamental building block for calculating core flow metrics like Cycle Time and Lead Time. By analyzing it, you can pinpoint the exact bottlenecks that strangle your team's throughput.
This metric helps:
While JQL alone cannot calculate Time in Status Jira metrics directly, it can filter and organize issues based on criteria that support Time in Status analysis. Specialized Jira add-ons, such as Jira Time in Status Reports by RVS Softek, are often used to supplement JQL for detailed reports, providing the necessary calculated fields and advanced reporting capabilities that native JQL lacks.

While Jira Query Language (JQL) is a powerful tool for querying data within Jira, it comes with certain limitations, especially when it comes to tracking time spent in different statuses. By default, JQL lacks built-in functions for calculating time spent in each status, which can make it difficult to generate detailed time-in-status reports. Here are the key challenges:
To tackle these challenges, many Jira users turn to third-party plugins or integrations that can automatically track time in statuses and offer ready-to-use reports, saving time and effort in the process.

RVS Time in Status Report is the dedicated time tracking add-on for Jira Query Language (JQL) that teams need for deep workflow analysis. While native JQL excels at filtering issues, it lacks the capability to directly calculate and filter issues based on the total time spent in a specific status over its lifespan.
This tool seamlessly integrates with Jira, transforming basic historical data into JQL-queryable time metrics in real-time. By supplying the necessary calculated fields (like total time in In Progress or Waiting for Review), RVS Time in Status Report unlocks powerful new filtering and reporting capabilities.
Here are steps and examples to create effective JQL queries for Time in Status Jira analysis:
You can filter issues currently in a specific status to analyze trends or identify stuck items:
status = "In Progress"
This query returns all issues currently in the "In Progress" status.
JQL allows you to query issues that have been in or transitioned through certain statuses:
Status changed FROM "To Do" TO "In Progress" DURING ("2023-01-01", "2023-12-31")
This query finds issues that transitioned from "To Do" to "In Progress" during the specified time period.
Combine status filters with date functions to focus on recent activities:
status = "Done" AND resolved >= startOfMonth()
This query finds issues resolved in the current month.
Narrow down results to a specific individual for accountability or workload analysis:
assignee = john.doe AND status = "In Progress"
This query identifies issues assigned to John Doe in the "In Progress" status.
status CHANGED DURING (startOfMonth(), endOfMonth())
This identifies all issues that transitioned through any status in the current month.
Combine custom date fields for granular control:
"In Progress Start Time" >= startOfWeek(-1) AND "In Progress Start Time" <= endOfWeek(-1)
This query identifies issues that were entered "In Progress" last week.
Combine multiple JQL clauses to refine your queries further:
project = "MyProject" AND status WAS "Code Review" BEFORE "2023-12-01" AND assignee IN ("johndoe", "janedoe")
This query retrieves issues from "MyProject" that were in "Code Review" before December 2023 and assigned to specific users.
To overcome the limitations of native JQL and effectively track time spent in different statuses, several powerful solutions are available to generate detailed Time in Status Jira reports.
Here are the most efficient options to generate comprehensive time-tracking reports in Jira:
The Time in Status Reports plugin for Jira provides a comprehensive way to track how long issues spend in different statuses throughout their lifecycle. With detailed reports and visualizations, teams can easily identify bottlenecks, optimize workflows, and assess individual performance.
In addition to the Time in Status Report tool by RVS Softek, there are several other Jira planning add-ons available that help further streamline project management. These plugins offer various ways to analyze and manage your Jira data, including:
The images below show that the app is extremely feature-rich to meet a variety of use cases. Also, the app supports a dark theme too.

Jira’s automation rules can help track time in status Jira:
Create custom fields like “Time in Progress” to store time spent in a status.
Use triggers and actions to calculate and update time spent in a status.
Example Rule:
Another option could be to write your own custom solution using Jira Rest API's. However, this could be a lengthy and time taking project.
Time in status Jira reporting is essential for understanding workflows, identifying bottlenecks, and improving efficiency. While native JQL has limitations, various solutions—including plugins, automation, and external analysis—enable detailed and actionable reporting. And by leveraging Jira time in the status report by RVS, teams can gain deeper insights into their processes and drive continuous improvement.
Whether you’re a project manager aiming to optimize workflows or a team lead monitoring performance, mastering time-in-status reporting with JQL and its enhancements is a valuable skill. Start with basic queries, explore advanced plugins like Time in status report, and integrate automation to unlock the full potential of Jira for your team.
Ready to improve your workflow? Book your RVS demo today.
1. What is JQL, and how does it relate to Time in Status reports?
JQL (Jira Query Language) is a powerful query language used in Jira to filter and extract specific issue data. When combined with Time in Status reports, JQL allows you to refine your search and track how long issues have spent in each workflow status.
2. How do I use JQL to track time spent in each Jira status?
To track time in status with JQL, you can use the status field in your queries along with custom fields like timeSpent or timeInStatus. This allows you to filter issues and analyze how long they stay in each status.
3. Can I create custom Time in Status reports using JQL?
Yes, JQL enables you to create custom reports by specifying filters like project, assignee, status, and time spent. You can then export this data into a Time in Status report to analyze the efficiency of your workflow.
4. What are some useful JQL filters for Time in Status tracking?
Common JQL filters include:
5. How can JQL help identify workflow bottlenecks in Time in Status reports?
By filtering issues that remain in a particular status longer than expected, JQL can help identify bottlenecks. For example, status = "In Progress" AND timeInStatus > 2d would show issues that have been stuck in the "In Progress" status for over two days.
6. Can JQL be used to measure the performance of individual team members in Time in Status?
Yes, you can use JQL to filter issues by assignee and measure how long each team member’s issues spend in each status. For example, assignee = "John Doe" AND status = "In Review" AND timeInStatus > 1d tracks John's issues in the "In Review" status.
7. Are there any limitations to using JQL for Time in Status reports?
While JQL is powerful, it has limitations in terms of direct time tracking capabilities. It doesn't natively support advanced time tracking fields like "time in status" without additional plugins (e.g., RVS Time in Status plugin) that extend Jira’s functionality.
December 3, 2025
Explore the role of workflow analytics in boosting Jira productivity. This blog covers how tracking task transitions, identifying bottlenecks, and optimizing workflows with tools like RVS Softek can enhance team performance and deliver projects faster.
Read MoreDecember 2, 2025
Learn how to read and optimize Jira time tracking reports for better project visibility, accurate insights, and improved team efficiency using smart tools.
Read MoreNovember 18, 2025
Learn how to use SLA in Jira for better tracking, faster resolutions, and improved team performance. Explore expert tips and tools for SLA automation.
Read More