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>
416 lines
7.6 KiB
Markdown
416 lines
7.6 KiB
Markdown
# JQL Query Examples
|
|
|
|
## Sprint Queries
|
|
|
|
**Current sprint issues:**
|
|
```jql
|
|
sprint IN openSprints() ORDER BY rank
|
|
```
|
|
|
|
**Issues in specific sprint:**
|
|
```jql
|
|
sprint = "Sprint 23" ORDER BY priority DESC
|
|
```
|
|
|
|
**All sprint work (current and backlog):**
|
|
```jql
|
|
project = ABC AND issuetype IN (Story, Bug, Task)
|
|
ORDER BY sprint DESC, rank
|
|
```
|
|
|
|
**Unscheduled stories:**
|
|
```jql
|
|
project = ABC AND issuetype = Story AND sprint IS EMPTY
|
|
AND status != Done ORDER BY priority DESC
|
|
```
|
|
|
|
**Spillover from last sprint:**
|
|
```jql
|
|
sprint IN closedSprints() AND sprint NOT IN (latestReleasedVersion())
|
|
AND status != Done ORDER BY created DESC
|
|
```
|
|
|
|
**Sprint completion rate:**
|
|
```jql
|
|
sprint = "Sprint 23" AND status = Done
|
|
```
|
|
|
|
## User & Team Queries
|
|
|
|
**My open issues:**
|
|
```jql
|
|
assignee = currentUser() AND status != Done
|
|
ORDER BY priority DESC, created ASC
|
|
```
|
|
|
|
**Unassigned in my project:**
|
|
```jql
|
|
project = ABC AND assignee IS EMPTY AND status != Done
|
|
ORDER BY priority DESC
|
|
```
|
|
|
|
**Issues I'm watching:**
|
|
```jql
|
|
watcher = currentUser() AND status != Done
|
|
```
|
|
|
|
**Team workload:**
|
|
```jql
|
|
assignee IN membersOf("engineering-team") AND status IN ("In Progress", "In Review")
|
|
ORDER BY assignee, priority DESC
|
|
```
|
|
|
|
**Issues I reported that are still open:**
|
|
```jql
|
|
reporter = currentUser() AND status != Done ORDER BY created DESC
|
|
```
|
|
|
|
**Issues commented on by me:**
|
|
```jql
|
|
comment ~ currentUser() AND status != Done
|
|
```
|
|
|
|
## Date Range Queries
|
|
|
|
**Created today:**
|
|
```jql
|
|
created >= startOfDay() ORDER BY created DESC
|
|
```
|
|
|
|
**Updated in last 7 days:**
|
|
```jql
|
|
updated >= -7d ORDER BY updated DESC
|
|
```
|
|
|
|
**Created this week:**
|
|
```jql
|
|
created >= startOfWeek() AND created <= endOfWeek()
|
|
```
|
|
|
|
**Created this month:**
|
|
```jql
|
|
created >= startOfMonth() AND created <= endOfMonth()
|
|
```
|
|
|
|
**Not updated in 30 days:**
|
|
```jql
|
|
status != Done AND updated <= -30d ORDER BY updated ASC
|
|
```
|
|
|
|
**Resolved yesterday:**
|
|
```jql
|
|
resolved >= startOfDay(-1d) AND resolved < startOfDay()
|
|
```
|
|
|
|
**Due this week:**
|
|
```jql
|
|
duedate >= startOfWeek() AND duedate <= endOfWeek() AND status != Done
|
|
```
|
|
|
|
**Overdue:**
|
|
```jql
|
|
duedate < now() AND status != Done ORDER BY duedate ASC
|
|
```
|
|
|
|
## Status & Workflow Queries
|
|
|
|
**In Progress issues:**
|
|
```jql
|
|
project = ABC AND status = "In Progress" ORDER BY assignee
|
|
```
|
|
|
|
**Blocked issues:**
|
|
```jql
|
|
project = ABC AND labels = blocked AND status != Done
|
|
```
|
|
|
|
**Issues in review:**
|
|
```jql
|
|
project = ABC AND status IN ("Code Review", "QA Review", "Pending Approval")
|
|
ORDER BY updated ASC
|
|
```
|
|
|
|
**Ready for development:**
|
|
```jql
|
|
project = ABC AND status = "Ready" AND sprint IS EMPTY
|
|
ORDER BY priority DESC
|
|
```
|
|
|
|
**Recently done:**
|
|
```jql
|
|
project = ABC AND status = Done AND resolved >= -7d
|
|
ORDER BY resolved DESC
|
|
```
|
|
|
|
**Status changed today:**
|
|
```jql
|
|
status CHANGED AFTER startOfDay() ORDER BY updated DESC
|
|
```
|
|
|
|
**Long-running in progress:**
|
|
```jql
|
|
status = "In Progress" AND status CHANGED BEFORE -14d
|
|
ORDER BY status CHANGED ASC
|
|
```
|
|
|
|
## Priority & Type Queries
|
|
|
|
**High priority bugs:**
|
|
```jql
|
|
issuetype = Bug AND priority IN (Highest, High) AND status != Done
|
|
ORDER BY priority DESC, created ASC
|
|
```
|
|
|
|
**Critical blockers:**
|
|
```jql
|
|
priority = Highest AND status != Done ORDER BY created ASC
|
|
```
|
|
|
|
**All epics:**
|
|
```jql
|
|
issuetype = Epic ORDER BY status, priority DESC
|
|
```
|
|
|
|
**Stories without acceptance criteria:**
|
|
```jql
|
|
issuetype = Story AND "Acceptance Criteria" IS EMPTY AND status = Backlog
|
|
```
|
|
|
|
**Technical debt:**
|
|
```jql
|
|
labels = tech-debt AND status != Done ORDER BY priority DESC
|
|
```
|
|
|
|
## Complex Multi-Condition Queries
|
|
|
|
**My team's sprint work:**
|
|
```jql
|
|
sprint IN openSprints()
|
|
AND assignee IN membersOf("engineering-team")
|
|
AND status != Done
|
|
ORDER BY assignee, priority DESC
|
|
```
|
|
|
|
**Bugs created this month, not in sprint:**
|
|
```jql
|
|
issuetype = Bug
|
|
AND created >= startOfMonth()
|
|
AND sprint IS EMPTY
|
|
AND status != Done
|
|
ORDER BY priority DESC, created DESC
|
|
```
|
|
|
|
**High-priority work needing attention:**
|
|
```jql
|
|
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:**
|
|
```jql
|
|
project = ABC
|
|
AND status NOT IN (Done, Cancelled)
|
|
AND (assignee IS EMPTY OR updated <= -30d)
|
|
ORDER BY created ASC
|
|
```
|
|
|
|
**Epic progress:**
|
|
```jql
|
|
"Epic Link" = ABC-123 ORDER BY status, rank
|
|
```
|
|
|
|
## Component & Version Queries
|
|
|
|
**Issues in component:**
|
|
```jql
|
|
project = ABC AND component = "Frontend" AND status != Done
|
|
```
|
|
|
|
**Issues without component:**
|
|
```jql
|
|
project = ABC AND component IS EMPTY AND status != Done
|
|
```
|
|
|
|
**Target version:**
|
|
```jql
|
|
fixVersion = "v2.0" ORDER BY status, priority DESC
|
|
```
|
|
|
|
**Released versions:**
|
|
```jql
|
|
fixVersion IN releasedVersions() ORDER BY fixVersion DESC
|
|
```
|
|
|
|
## Label & Text Search Queries
|
|
|
|
**Issues with label:**
|
|
```jql
|
|
labels = urgent AND status != Done
|
|
```
|
|
|
|
**Multiple labels (AND):**
|
|
```jql
|
|
labels IN (frontend, bug) AND status != Done
|
|
```
|
|
|
|
**Search in summary:**
|
|
```jql
|
|
summary ~ "authentication" ORDER BY created DESC
|
|
```
|
|
|
|
**Search in summary and description:**
|
|
```jql
|
|
text ~ "API integration" ORDER BY created DESC
|
|
```
|
|
|
|
**Issues with empty description:**
|
|
```jql
|
|
description IS EMPTY AND issuetype = Story
|
|
```
|
|
|
|
## Performance-Optimized Queries
|
|
|
|
**Good - Specific project first:**
|
|
```jql
|
|
project = ABC AND status = "In Progress" AND assignee = currentUser()
|
|
```
|
|
|
|
**Bad - User filter first:**
|
|
```jql
|
|
assignee = currentUser() AND status = "In Progress" AND project = ABC
|
|
```
|
|
|
|
**Good - Use functions:**
|
|
```jql
|
|
sprint IN openSprints() AND status != Done
|
|
```
|
|
|
|
**Bad - Hardcoded sprint:**
|
|
```jql
|
|
sprint = "Sprint 23" AND status != Done
|
|
```
|
|
|
|
**Good - Specific date:**
|
|
```jql
|
|
created >= 2024-01-01 AND created <= 2024-01-31
|
|
```
|
|
|
|
**Bad - Relative with high cost:**
|
|
```jql
|
|
created >= -365d AND created <= -335d
|
|
```
|
|
|
|
## Reporting Queries
|
|
|
|
**Velocity calculation:**
|
|
```jql
|
|
sprint = "Sprint 23" AND status = Done
|
|
```
|
|
*Then sum story points*
|
|
|
|
**Bug rate:**
|
|
```jql
|
|
project = ABC AND issuetype = Bug AND created >= startOfMonth()
|
|
```
|
|
|
|
**Average cycle time:**
|
|
```jql
|
|
project = ABC AND resolved >= startOfMonth()
|
|
AND resolved <= endOfMonth()
|
|
```
|
|
*Calculate time from In Progress to Done*
|
|
|
|
**Stories delivered this quarter:**
|
|
```jql
|
|
project = ABC AND issuetype = Story
|
|
AND resolved >= startOfYear() AND resolved <= endOfQuarter()
|
|
```
|
|
|
|
**Team capacity:**
|
|
```jql
|
|
assignee IN membersOf("engineering-team")
|
|
AND sprint IN openSprints()
|
|
```
|
|
*Sum original estimates*
|
|
|
|
## Notification & Watching Queries
|
|
|
|
**Issues I need to review:**
|
|
```jql
|
|
status = "Pending Review" AND assignee = currentUser()
|
|
```
|
|
|
|
**Issues assigned to me, high priority:**
|
|
```jql
|
|
assignee = currentUser() AND priority IN (Highest, High)
|
|
AND status != Done
|
|
```
|
|
|
|
**Issues created by me, not resolved:**
|
|
```jql
|
|
reporter = currentUser() AND status != Done
|
|
ORDER BY created DESC
|
|
```
|
|
|
|
## Advanced Functions
|
|
|
|
**Issues changed from status:**
|
|
```jql
|
|
status WAS "In Progress" AND status = "Done"
|
|
AND status CHANGED AFTER startOfWeek()
|
|
```
|
|
|
|
**Assignee changed:**
|
|
```jql
|
|
assignee CHANGED BY currentUser() AFTER -7d
|
|
```
|
|
|
|
**Issues re-opened:**
|
|
```jql
|
|
status WAS Done AND status != Done ORDER BY updated DESC
|
|
```
|
|
|
|
**Linked issues:**
|
|
```jql
|
|
issue IN linkedIssues("ABC-123") ORDER BY issuetype
|
|
```
|
|
|
|
**Parent epic:**
|
|
```jql
|
|
parent = ABC-123 ORDER BY rank
|
|
```
|
|
|
|
## Saved Filter Examples
|
|
|
|
**Daily Standup Filter:**
|
|
```jql
|
|
assignee = currentUser() AND sprint IN openSprints()
|
|
AND status != Done ORDER BY priority DESC
|
|
```
|
|
|
|
**Team Sprint Board Filter:**
|
|
```jql
|
|
project = ABC AND sprint IN openSprints() ORDER BY rank
|
|
```
|
|
|
|
**Bugs Dashboard Filter:**
|
|
```jql
|
|
project = ABC AND issuetype = Bug AND status != Done
|
|
ORDER BY priority DESC, created ASC
|
|
```
|
|
|
|
**Tech Debt Backlog:**
|
|
```jql
|
|
project = ABC AND labels = tech-debt AND status = Backlog
|
|
ORDER BY priority DESC
|
|
```
|
|
|
|
**Needs Triage:**
|
|
```jql
|
|
project = ABC AND status = "To Triage"
|
|
AND created >= -7d ORDER BY created ASC
|
|
```
|