Every Jira team eventually moves from "which issues are open?" to "how long did this sit in In Progress before someone picked it up?"
Native JQL can confirm that a transition happened (status WAS, status CHANGED), but it cannot tell you how long an issue stayed in a status. That's a real gap — and it usually pushes teams toward:
There is a third option: extend JQL itself.
- The in-JQL solution: timeInStatus
The JQL Argon Powerful Search app JQL Argon adds a timeInStatus function and a Time in Status custom field to your Jira Cloud instance. Both are queryable with standard JQL operators (>, <, =, >=, <=, !=).
That means duration becomes a first-class JQL field — usable in:
No separate report. No export. One query.
Syntax:
The function reads the issue changelog, sums the time spent in that status (including re-entries), and returns matching issues.
Two basic examples:
- Combining with other Argon functions
The real power shows when you combine timeInStatus with other Argon JQL functions:
Find issues moved to "Done" by a specific person that previously lingered in "Blocked" for over 5 days.
issue > timeInStatus("project = CORE", "Blocked", "5d")
AND issue in transitionedBy("project = CORE", "Done", "2026/01/01", "2026/05/01", "jsmith")
Find issues that spent more than 1 week in "In Progress" but had less than 4 hours of worklog logged — a classic stuck-ticket signal.
issue > timeInStatus("project = CORE", "In Progress", "1w")
AND issue in worklog("project = CORE", "", "", "", "", "4h")
These combinations answer questions that no single Jira report answers out of the box — and they are all written in plain JQL.
I hope our solution will meet your expectations and prove useful in your daily work.
Greetings
Bartek from Orbiscend OU (JQL Argon app provider)
Bartek Szajkowski _ Orbiscend OU
0 comments