Go back

JQL Day-to-Day: Less Jira Chaos, More Control

Reading time · 4 min

JQL basics, the queries you'll actually use every week, how to save them as filters, and how to build useful dashboards. With ready-to-copy examples.

Illustration of JQL queries, Jira filters, and organized dashboards

Working with Jira can feel like searching through an endless backlog — especially when there are multiple active projects or the board is showing too much at once. JQL (Jira Query Language) turns that noise into saved filters, dashboards, and shared views your whole team can reuse.

I use it every day. What makes the biggest difference isn't memorizing complex syntax — it's having a few well-tested queries saved with names that everyone on the team understands.

The Basic Structure: Field, Operator, Value

Almost every JQL query follows this pattern:

field  operator  value

Concrete examples:

project = WEB
status != Done
summary ~ "login"

The ~ operator means "contains" — useful for searching inside text fields.

When you combine conditions, AND narrows results and OR expands them. Use parentheses when mixing both to avoid unexpected results:

project = WEB AND (status = "To Do" OR status = "In Progress") AND priority = High

Autocomplete: Your Best Friend

When typing in Jira's advanced search mode, the interface suggests fields, operators, and values based on your instance. Use it — it prevents typos in status names and shows you which operators apply to which fields.

Before saving any query, run it and check that the number of results makes sense. If you're seeing double what you expected, look for an OR where you meant AND, or missing parentheses.

Text Search: summary vs text

  • summary ~ "something" → searches only the ticket title.
  • text ~ "something" → searches across multiple fields: title, description, comments, and custom text fields.

Use text when you're not sure whether the word was in the title or the description.

Queries You'll Use Every Week

Replace the names (Done, In Review, WEB) with the ones from your instance.

Your work and your team's

assignee = currentUser() AND statusCategory != Done ORDER BY updated DESC
assignee IN membersOf("group-name") AND statusCategory != Done

Open sprint

sprint in openSprints() AND resolution = Unresolved ORDER BY rank ASC

Overdue or upcoming due dates

due < now() AND statusCategory != Done ORDER BY due ASC

Recent activity (useful for standups)

project = WEB AND updated >= -1d ORDER BY updated DESC
resolved >= -14d AND assignee is not EMPTY ORDER BY resolved DESC

Tickets stuck for too long

status = "To Do" AND created <= -7d ORDER BY created ASC

High-priority open bugs

project = WEB AND type = Bug AND priority in (High, Highest) AND statusCategory != Done

By version or release

project = WEB AND fixVersion = "2.4.0" ORDER BY priority DESC, updated DESC
fixVersion in unreleasedVersions() AND project = WEB

Tracking History with WAS and CHANGED

These operators filter by a ticket's change history, not just its current state. Useful when someone asks "what went back to To Do?" or "what moved out of Done this week?"

project = WEB AND status was Done AND status = "To Do"
project = WEB AND status changed from "To Do" to "In Progress"

WAS and CHANGED aren't available in all Jira editions. If the editor shows an error, check whether your instance (Cloud or Data Center) supports them.

From Query to Saved Filter

The workflow is straightforward:

  1. Refine the query in advanced search until the results look right.
  2. Save it as a filter with a clear name: WEB — In Review This Week.
  3. Reuse it in dashboards, boards, or email subscriptions.

This gives the team consistent views without relying on everyone configuring their board the same way.

Common Mistakes

  • Statuses with spaces need quotes: status = "In Review".
  • Project keys are case-sensitive and uppercase: WEB, not web.
  • Custom fields: use the name shown in autocomplete. If it doesn't appear, try customfield_XXXXX.
  • Performance on large instances: avoid queries without a project filter on big backlogs. Atlassian has JQL optimization recommendations if you notice slowness.

Conclusion

JQL isn't about memorizing syntax — it's about asking clear questions of your backlog and saving the answers where your team can reuse them. Start with autocomplete, test before saving, and once you're comfortable with sprint, date, and text queries, the time you spend searching in Jira drops significantly.


Official Documentation