How to search Jira by fix version release date
Short answer
A version's release date lives on the version, not on the work item, and Jira Cloud's JQL cannot reach it. You can ask whether a fix version is released or unreleased, but not "what ships in the next 30 days" or "sort by release date". To do that you need the date copied onto the work item, by an Automation rule or by an app.
What JQL can and cannot do with versions
| Query | Result on Jira Cloud |
|---|---|
fixVersion in unreleasedVersions() | Valid. Work in any unreleased version. |
fixVersion in releasedVersions() | Valid. |
fixVersion = earliestUnreleasedVersion() | Valid. The next version by release date, per project. |
fixVersion = latestReleasedVersion() | Valid. |
fixVersion in overdueVersions() | Invalid: "Unable to find JQL function 'overdueVersions()'." |
"fixVersion.releaseDate" < now() | Invalid: the field does not exist. |
earliestUnreleasedVersion() is the nearest native tool, but it returns one version per project and takes no date range. Atlassian's request for date filtering, JRACLOUD-22640, is still open.
Workaround: copy the date with Automation
- Create a date custom field, for example "Release date".
- Create a rule with the trigger Version updated (and another for Version created if you set dates at creation).
- Add the branch For work items fixed in version and the action Edit work item, setting the field to
{{version.releaseDate}}. - Add a second rule triggered by a change to the Fix versions field, so work added to a version later gets the date too.
Limits: no backfill for versions you do not touch, one rule run per version change plus one per affected work item branch, and no clear answer when a work item has several fix versions.
With an app: a real date field
Fix Version Date Fields for Jira (ours) maintains four read-only fields: Fix version release date, Fix version start date, Fix version status and Fix version count. They backfill on install and update within seconds when a work item's fix versions change or when a version's dates or released state change.
"Fix version release date" <= 30d AND statusCategory != Done
"Fix version release date" < now() AND "Fix version status" = "unreleased"
"Fix version count" > 1
project in (OPS, WEB, APP) ORDER BY "Fix version release date" ASC
Note that <= 30d also matches dates in the past, so the first query means "due to ship within 30 days, overdue included". Add AND "Fix version release date" >= now() to exclude overdue work. With several fix versions, the field holds the earliest release date among unreleased versions; if all are released, the latest release date.
Common questions
Can I sort a cross-project filter by release date?
Not natively: ORDER BY fixVersion sorts by the version's position in each project's list, not by date. A stored date field sorts chronologically across projects.
How do I find work in overdue releases?
Natively, open the Releases page of each project. With the fields above, use the second query in the list.