Files
claude-skills-reference/project-management/jira-expert/references/jql-examples.md
Reza Rezvani 83e655a056 fix(pm): extract 6 PM skills from zips into standard directories
PM skills were the only domain packaged as zip files instead of
extracted directories, causing plugin install failures and missing
codex index entries. Extracts all 6 skills, fixes broken symlink,
regenerates index (47 → 53 total), and updates doc counts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:13:34 +01:00

7.6 KiB

JQL Query Examples

Sprint Queries

Current sprint issues:

sprint IN openSprints() ORDER BY rank

Issues in specific sprint:

sprint = "Sprint 23" ORDER BY priority DESC

All sprint work (current and backlog):

project = ABC AND issuetype IN (Story, Bug, Task) 
ORDER BY sprint DESC, rank

Unscheduled stories:

project = ABC AND issuetype = Story AND sprint IS EMPTY 
AND status != Done ORDER BY priority DESC

Spillover from last sprint:

sprint IN closedSprints() AND sprint NOT IN (latestReleasedVersion()) 
AND status != Done ORDER BY created DESC

Sprint completion rate:

sprint = "Sprint 23" AND status = Done

User & Team Queries

My open issues:

assignee = currentUser() AND status != Done 
ORDER BY priority DESC, created ASC

Unassigned in my project:

project = ABC AND assignee IS EMPTY AND status != Done
ORDER BY priority DESC

Issues I'm watching:

watcher = currentUser() AND status != Done

Team workload:

assignee IN membersOf("engineering-team") AND status IN ("In Progress", "In Review")
ORDER BY assignee, priority DESC

Issues I reported that are still open:

reporter = currentUser() AND status != Done ORDER BY created DESC

Issues commented on by me:

comment ~ currentUser() AND status != Done

Date Range Queries

Created today:

created >= startOfDay() ORDER BY created DESC

Updated in last 7 days:

updated >= -7d ORDER BY updated DESC

Created this week:

created >= startOfWeek() AND created <= endOfWeek()

Created this month:

created >= startOfMonth() AND created <= endOfMonth()

Not updated in 30 days:

status != Done AND updated <= -30d ORDER BY updated ASC

Resolved yesterday:

resolved >= startOfDay(-1d) AND resolved < startOfDay()

Due this week:

duedate >= startOfWeek() AND duedate <= endOfWeek() AND status != Done

Overdue:

duedate < now() AND status != Done ORDER BY duedate ASC

Status & Workflow Queries

In Progress issues:

project = ABC AND status = "In Progress" ORDER BY assignee

Blocked issues:

project = ABC AND labels = blocked AND status != Done

Issues in review:

project = ABC AND status IN ("Code Review", "QA Review", "Pending Approval")
ORDER BY updated ASC

Ready for development:

project = ABC AND status = "Ready" AND sprint IS EMPTY
ORDER BY priority DESC

Recently done:

project = ABC AND status = Done AND resolved >= -7d
ORDER BY resolved DESC

Status changed today:

status CHANGED AFTER startOfDay() ORDER BY updated DESC

Long-running in progress:

status = "In Progress" AND status CHANGED BEFORE -14d
ORDER BY status CHANGED ASC

Priority & Type Queries

High priority bugs:

issuetype = Bug AND priority IN (Highest, High) AND status != Done
ORDER BY priority DESC, created ASC

Critical blockers:

priority = Highest AND status != Done ORDER BY created ASC

All epics:

issuetype = Epic ORDER BY status, priority DESC

Stories without acceptance criteria:

issuetype = Story AND "Acceptance Criteria" IS EMPTY AND status = Backlog

Technical debt:

labels = tech-debt AND status != Done ORDER BY priority DESC

Complex Multi-Condition Queries

My team's sprint work:

sprint IN openSprints() 
AND assignee IN membersOf("engineering-team") 
AND status != Done
ORDER BY assignee, priority DESC

Bugs created this month, not in sprint:

issuetype = Bug 
AND created >= startOfMonth() 
AND sprint IS EMPTY 
AND status != Done
ORDER BY priority DESC, created DESC

High-priority work needing attention:

project = ABC 
AND priority IN (Highest, High) 
AND status IN ("In Progress", "In Review") 
AND updated <= -3d
ORDER BY priority DESC, updated ASC

Stale issues:

project = ABC 
AND status NOT IN (Done, Cancelled) 
AND (assignee IS EMPTY OR updated <= -30d)
ORDER BY created ASC

Epic progress:

"Epic Link" = ABC-123 ORDER BY status, rank

Component & Version Queries

Issues in component:

project = ABC AND component = "Frontend" AND status != Done

Issues without component:

project = ABC AND component IS EMPTY AND status != Done

Target version:

fixVersion = "v2.0" ORDER BY status, priority DESC

Released versions:

fixVersion IN releasedVersions() ORDER BY fixVersion DESC

Label & Text Search Queries

Issues with label:

labels = urgent AND status != Done

Multiple labels (AND):

labels IN (frontend, bug) AND status != Done

Search in summary:

summary ~ "authentication" ORDER BY created DESC

Search in summary and description:

text ~ "API integration" ORDER BY created DESC

Issues with empty description:

description IS EMPTY AND issuetype = Story

Performance-Optimized Queries

Good - Specific project first:

project = ABC AND status = "In Progress" AND assignee = currentUser()

Bad - User filter first:

assignee = currentUser() AND status = "In Progress" AND project = ABC

Good - Use functions:

sprint IN openSprints() AND status != Done

Bad - Hardcoded sprint:

sprint = "Sprint 23" AND status != Done

Good - Specific date:

created >= 2024-01-01 AND created <= 2024-01-31

Bad - Relative with high cost:

created >= -365d AND created <= -335d

Reporting Queries

Velocity calculation:

sprint = "Sprint 23" AND status = Done

Then sum story points

Bug rate:

project = ABC AND issuetype = Bug AND created >= startOfMonth()

Average cycle time:

project = ABC AND resolved >= startOfMonth() 
AND resolved <= endOfMonth()

Calculate time from In Progress to Done

Stories delivered this quarter:

project = ABC AND issuetype = Story 
AND resolved >= startOfYear() AND resolved <= endOfQuarter()

Team capacity:

assignee IN membersOf("engineering-team") 
AND sprint IN openSprints()

Sum original estimates

Notification & Watching Queries

Issues I need to review:

status = "Pending Review" AND assignee = currentUser()

Issues assigned to me, high priority:

assignee = currentUser() AND priority IN (Highest, High) 
AND status != Done

Issues created by me, not resolved:

reporter = currentUser() AND status != Done 
ORDER BY created DESC

Advanced Functions

Issues changed from status:

status WAS "In Progress" AND status = "Done" 
AND status CHANGED AFTER startOfWeek()

Assignee changed:

assignee CHANGED BY currentUser() AFTER -7d

Issues re-opened:

status WAS Done AND status != Done ORDER BY updated DESC

Linked issues:

issue IN linkedIssues("ABC-123") ORDER BY issuetype

Parent epic:

parent = ABC-123 ORDER BY rank

Saved Filter Examples

Daily Standup Filter:

assignee = currentUser() AND sprint IN openSprints() 
AND status != Done ORDER BY priority DESC

Team Sprint Board Filter:

project = ABC AND sprint IN openSprints() ORDER BY rank

Bugs Dashboard Filter:

project = ABC AND issuetype = Bug AND status != Done
ORDER BY priority DESC, created ASC

Tech Debt Backlog:

project = ABC AND labels = tech-debt AND status = Backlog
ORDER BY priority DESC

Needs Triage:

project = ABC AND status = "To Triage" 
AND created >= -7d ORDER BY created ASC