Jira JQL guides
What Jira Cloud's search can and cannot do, with the exact queries and error messages, the Automation workaround where one exists, and its limits. Every query is run against a live Jira Cloud site before publishing.
Free sample of the JQL Cookbook: ten queries you can paste now, and what the full cookbook covers.
Jira Cloud has no JQL field for the last comment date. What works natively, the Automation workaround and its limits, and how to get a real "Last comment date" field you can search and sort.
Jira Cloud cannot search for work items that have no sub-tasks, or count children. What JQL can do with parents and children, an Automation workaround, and how to get Child count and Parent status fields.
Jira Cloud cannot filter or sort work items by their fix version's release date. The version functions JQL does have, an Automation workaround, and how to get a real "Fix version release date" field.
Copy-paste JQL to find Jira Cloud work items nobody has touched in weeks, items stuck in In Progress, and items assigned to people who have left. What each query really measures and where it misleads.
Copy-paste JQL for Jira Cloud sprints: everything in the active sprint, what is still open, what was carried over from a previous sprint, the backlog, future sprints and unestimated work.
Copy-paste JQL date ranges for Jira Cloud: resolved last month, created this week, the last 24 hours, overdue work, due in the next 7 days and status changes during a date range. How the date functions behave.
Copy-paste JQL for Jira Cloud: unassigned open work, work owned by deactivated users, recent reassignments, your own queue, what you reported and what you watch.
Copy-paste JQL hygiene checks for Jira Cloud: open work with no labels, no component, no description or no priority, done work with no fix version, and the fields that cannot be searched for EMPTY.
How to search Jira Cloud by history with the WAS and CHANGED operators: work that was ever in a status, moved to Done last week, changed by a person, or reassigned. Which fields support history search and the exact error for the ones that do not.
Copy-paste JQL for Jira Cloud links: work that is blocked, work that blocks something, everything linked to one work item, work with no links, and the limits of searching by link type.
How the JQL ~ (contains) operator works in Jira Cloud: word search in summary, description and comments, exact phrases, trailing wildcards, excluding words, and the exact errors for leading wildcards, = on summary and ~ on labels.
Copy-paste JQL for Jira Cloud due dates: overdue work, due this week or month, due in the next 7 days, work with no due date, and why you cannot compare resolved to due date or search due date history.
How to find child work items of an epic or parent in Jira Cloud with JQL: parent =, sub-tasks, work with no epic, open children under done parents, and the exact errors for childIssuesOf, hasSubtasks and parent.status.
Jira Cloud JQL has two different watcher fields people mix up: watcher (who) and watchers (how many). The queries that work for each, the ones that look right but fail, and a long-standing Atlassian bug with watcher negation.
Jira Cloud JQL has two vote fields: votes (a count) and voter (who voted), and unlike watcher/watchers, both actually work on a regular project. The queries that work, the ones that look right but fail, and what limits how many votes you will ever see.
Jira Cloud JQL has one labels field, and two very different ways to combine several labels in one query: "in" is OR, chaining "=" with AND is AND. The queries that mean each one, the operators labels does not support, and why label history cannot be searched.