‍JQL for Time in Status Unlocked: The Essential Guide to Flow Metrics in Jira

Gulshan
November 28, 2025

Contents

Quick Summary

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.

JQL For Time in Status

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.

Understanding Time in Status

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:

  1. Bottlenecks: Identify where issues linger longer than expected.
  2. Efficiency: Analyze team productivity and workflow efficiency.
  3. Process Improvements: Spot patterns and trends that indicate areas for improvement.

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.

Challenges with Native JQL

Difficulties With Native JQL

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:

  1. No Built-In Time Calculations: Native JQL doesn’t have functions to directly calculate the time an issue spends in a specific status, making it hard to analyze the duration an issue stays in each phase of its lifecycle.

  2. Manual Workarounds Required: To overcome this limitation, users must resort to complex workarounds like custom fields or additional plugins, which can be time-consuming and error-prone.

  3. Limited Reporting Capabilities: JQL alone does not offer the advanced reporting features needed to generate comprehensive time-in-status reports, such as visualizations or breakdowns by user, status, or assignee.

  4. Lack of Historical Data Tracking: JQL cannot track the historical data of how long an issue remained in each status over time, which is essential for detailed project analysis and improving workflow efficiency.

  5. Complex Queries for Time Analysis: Even with advanced JQL techniques, extracting meaningful data about time spent in statuses often requires multiple, complex queries and manual calculations, which reduces efficiency.

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: Advanced Time Tracking Add-on for JQL

Dashboard Image of Time in Status Report plugin by RVS Softek

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. 

Key Features of RVS Time in Status Report

  • JQL-Enabled Time Filtering: Creates calculated custom fields (like total time in a status) that are directly queryable using standard JQL. This allows filtering issues based on duration, such as finding tickets with "Time in Review" > 48h.
  • Detailed Time Reports: Generate essential reports like Time in Status Report, Average Time in Status, Time with Assignee, and Cycle/Lead Time analysis.
  • Custom Status Grouping: Allows you to combine multiple statuses (e.g., 'In Dev,' 'Unit Testing,' 'Code Review') into custom groups like 'In Progress' to measure true cycle time accurately.
  • Configurable Time Calculations: Offers flexibility to choose working calendars, excluding non-working hours, weekends, or holidays from calculations for highly accurate metrics.
  • Real-Time Dashboard Gadgets: Easily embed Time in Status reports and charts directly onto your Jira dashboards for immediate, visual bottleneck detection.
  • Multiple Data Exports: Provides flexible options to export detailed time data to CSV, Excel, or JSON Feed (for integration with BI tools like Power BI).

Crafting JQL Queries for Time in Status Jira 

Here are steps and examples to create effective JQL queries for Time in Status Jira analysis:‍

  1. Filter by Status

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.

  1. Filter by Transition History

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.

  1. Use Date Filters

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.

  1. Search by Assignee or Reporter

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.

  1. Track All Status Transitions Within a Time Range:

status CHANGED DURING (startOfMonth(), endOfMonth())

This identifies all issues that transitioned through any status in the current month.

  1. Filter by Custom Time Fields (if set up):

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.‍

  1. Combining Filters for Detailed Insights

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.

Solutions for Time in Status Jira Reports

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:

  1. Using Jira Plugins

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:

  • Jira Time in Status Report: Tracks the time spent by each user in each status, providing clarity on issue progression.

  • Time with Assignee per status: Monitors the time each assignee spends on issues, allowing for better resource management.

  • Status Count: Displays how many times each issue has transitioned between statuses, offering insights into workflow dynamics.

  • Average Time in Status: Measures the average time spent in each status across multiple issues, helping teams identify areas for improvement.

  • Transition Reports: Provides a detailed analysis of issue transitions, showing who made each status change and when.

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.

Dashboard Image of Time in Status Report plugin by RVS Softek

  1. Using Automation Rules

Jira’s automation rules can help track time in status Jira:

  • Create Custom Fields

Create custom fields like “Time in Progress” to store time spent in a status.

  • Set Up Automation Rules

Use triggers and actions to calculate and update time spent in a status.

Example Rule:

  • Trigger: Status changes from “In Progress.”
  • Condition: Issue matches specific criteria.
  • Action: Update the custom field using smart values like {{now.diff(issue.statusCategoryChangedDate) hours}}.

  1. Use Jira Rest APIs

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.

Conclusion

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.

Frequently Asked Questions

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:

  1. status = "In Progress" AND updatedDate >= -7d to track issues in "In Progress" status in the last week.
  2. status changed TO "Done" DURING (startOfDay(-7), endOfDay()) to see when issues were completed in the past week.

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.

Recent Blogs

December 3, 2025

The Role of Workflow Analytics in Boosting Jira Productivity

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 More

December 2, 2025

How to Read and Optimize Time Tracking Reports in Jira for Better Results

Learn how to read and optimize Jira time tracking reports for better project visibility, accurate insights, and improved team efficiency using smart tools.

Read More

November 18, 2025

How to Use SLA in Jira: Step-by-Step Guide to Track Performance in 2026

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