You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
I'm trying to write a query that will return all of the tickets where the status changed FROM 'StatusA' TO 'StatusB' DURING (current date/time -1h, current date/time).
At first I was hoping that the now() function would work, but it appears that arguments cannot be passed to it.
Trying to make this dynamic so that I don't have to update the query every hour -- because that just isn't realistic.
Except I don't believe that would link directly to the status change from A to B.
That would flag any issues that have been updated between that hour/time difference that have ever moved from A to B (regardless of when).
Issue changes from A to B on 12/15/2019
Today is 1/13/2020 and someone makes some sort of update to the ticket within the last hour.
I would expect that the issue would now appear in the filter I am trying to set up -- in this scenario I wouldn't want it to.
This is where status changed from (A) to (B) during (date1, date2) works nice for date ranges. Doesn't work for trying to reference the last hour.
So, after reading your most-recent reply, I've figured out what I needed to do.
Like I said in the beginning, I was trying to pass arguments to the now() function - which I knew didn't work.
From my example I originally provided, I've only ever passed dates after during in my query ex: during (date1, date2)
So, in the end...
What I was trying to do (which DOES NOT work):
status changed from (A) to (B) during (now(-1h), now())
What I needed to do (which DOES work):
status changed from (A) to (B) during (-1h, now())
Typically my queries consist of a lot of date changes, so I use startOfDay(), endOfDay() quite a bit and pass day change arguments to those (ex: -1d)
I never thought to just pass a hour change not inside of an actual function.
Thanks for providing an example that guided me to what I really wanted.
That makes sense. Like I think I said somewhere in my reply in this chain, my filters typically deal with dates and have always been a date range - that's why my mind went to the DURING approach I guess.
You are correct though. Using after -1h would achieve the same thing. Thanks for pointing it out as another solution.
Is your project a "Next Gen" aka "Team Managed" project?
There is a bug in Next Gen that leads to inconsistent results when you query on the name of a status (particularly when the name is used in multiple projects, e.g. one of the default status names).
The workaround is to change the name of the status to something unique or don't use the name at all, but instead use the ID of the status in question.
and also Stephen Wright's comment on the status ID workaround: https://community.atlassian.com/t5/Jira-Software-questions/BUG-JQL-Unable-to-query-next-gen-project-s-issues-with-status/qaq-p/1319216#M67818
is there a similar thing for seconds? trying to resolve an issue with missing jira trigger 'status changed' trigger. So was aiming at using the 'issue updated' trigger along with a JQL which says the status changed VERY recently. Because else any other update will also trigger the workflow.
I found there is -1m, but is there a thing for seconds?
Search for issues that were last updated on, before, or after a particular date (or date range). Note that if a time-component is not specified, midnight will be assumed. Please note that the search results will be relative to your configured time zone (which is by default the Jira server's time zone).
Use one of the following formats:
No seconds by Design.
FYI if you have API data, yes seconds are there: