Like Magic, Without the Wonder

I normally would want to skip this, but it is useful to understand some workarounds before diving into the reports.
The Jira Query Language is used in advanced searches. It lets you get more specific results than the basic search UI allows. For most day-to-day use, the basic search is fine. But when you need to compare multiple fields, filter across projects, or build reusable queries for reports, JQL is the tool.
The Atlassian docs have good examples. Here are two to start:
duedate < now() AND status NOT IN (closed, resolved)sprint in closedSprints()Those look manageable until you need to check 40+ people across 20+ projects, at which point single-condition queries stop being enough.
JQL queries follow the structure FIELD OPERATOR VALUE. Understanding each piece makes it easier to build queries from scratch rather than copying examples blindly.
assignee, status, project, duedate"In Progress" or Done. User values use the account ID or display name. Some fields accept functions like currentUser() instead of a literal value.= for exact match, IN for lists, > and < for dates and numbers, ~ for text contains.AND, OR, NOT, ORDER BY for combining and sorting resultscurrentUser(), openSprints(), startOfWeek()sprint IN openSprints()
updated >= -7d
ORDER BY updated DESC
project = "CAP" AND
sprint IN closedSprints() AND
status = "Open" AND
updated >= -15d
ORDER BY priority DESC