jql-syntax
Complete JQL (Jira Query Language) syntax reference for searching issues in Jira Cloud.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Complete JQL (Jira Query Language) syntax reference for searching issues in Jira Cloud.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This skill covers batch create, update, delete, and transition operations for the Jira Cloud REST API.
This skill covers pagination strategies for the Jira Cloud REST API, including offset-based and cursor-based pagination.
Complete endpoint reference for the Jira Cloud REST API v3.
This skill covers all authentication methods for the Jira Cloud REST API.
This skill covers HTTP error codes, error response formats, and troubleshooting strategies for the Jira Cloud REST API.
This skill covers Jira Cloud REST API rate limiting policies, response headers, backoff strategies, and best practices for staying within limits.
| name | jql-syntax |
| description | Complete JQL (Jira Query Language) syntax reference for searching issues in Jira Cloud. |
Complete JQL (Jira Query Language) syntax reference for searching issues in Jira Cloud.
field operator value [AND|OR field operator value] [ORDER BY field [ASC|DESC]]
| Operator | Description | Example |
|---|---|---|
= | Equals | status = "In Progress" |
!= | Not equals | status != Done |
> | Greater than | priority > Medium |
>= | Greater than or equal | created >= "2026-01-01" |
< | Less than | due < now() |
<= | Less than or equal | updated <= -7d |
~ | Contains (text search) | summary ~ "login error" |
!~ | Does not contain | summary !~ "test" |
| Operator | Description | Example |
|---|---|---|
IN | In list | project IN ("PROJ", "DEV", "OPS") |
NOT IN | Not in list | status NOT IN ("Done", "Closed") |
| Operator | Description | Example |
|---|---|---|
IS EMPTY | Field has no value | assignee IS EMPTY |
IS NOT EMPTY | Field has a value | due IS NOT EMPTY |
IS NULL | Alias for IS EMPTY | fixVersion IS NULL |
IS NOT NULL | Alias for IS NOT EMPTY | resolution IS NOT NULL |
| Operator | Description |
|---|---|
AND | Both conditions must match |
OR | Either condition must match |
NOT | Negates a condition |
Precedence: NOT > AND > OR. Use parentheses to control grouping.
| Field | Type | Notes |
|---|---|---|
project | Project | Key or name |
issuetype | Issue Type | Name (e.g., "Bug", "Story") |
status | Status | Name (e.g., "In Progress") |
statusCategory | Status Category | "To Do", "In Progress", "Done" |
resolution | Resolution | Name or Unresolved |
priority | Priority | Name (e.g., "High", "Medium") |
assignee | User | accountId, currentUser(), or EMPTY |
reporter | User | accountId or currentUser() |
creator | User | accountId or currentUser() |
summary | Text | Supports ~ operator |
description | Text | Supports ~ operator |
comment | Text | Searches comment bodies |
text | Text | Searches summary, description, comments |
labels | Label | Exact match |
component | Component | Name or ID |
fixVersion | Version | Name (e.g., "v1.0.0") |
affectedVersion | Version | Name |
sprint | Sprint | Name, ID, or function |
epic | Epic | Key (e.g., "PROJ-50") |
parent | Issue | Key (for subtasks and child issues) |
created | Date | ISO date or relative |
updated | Date | ISO date or relative |
due | Date | ISO date or relative |
resolved | Date | ISO date or relative |
lastViewed | Date | ISO date or relative |
originalEstimate | Duration | Minutes or time string |
remainingEstimate | Duration | Minutes or time string |
timeSpent | Duration | Minutes or time string |
workRatio | Number | Percentage (0-100+) |
voter | User | currentUser() |
watcher | User | currentUser() |
level | Security Level | Name |
key | Issue Key | e.g., "PROJ-123" |
id | Issue ID | Numeric ID |
type | Issue Type | Alias for issuetype |
Reference by name or ID:
"Team Name" = "Backend"
cf[10001] = "Backend"
| Function | Description | Example |
|---|---|---|
now() | Current date/time | created > now() |
currentLogin() | When user last logged in | updated > currentLogin() |
startOfDay() | Start of today | created >= startOfDay() |
endOfDay() | End of today | due <= endOfDay() |
startOfWeek() | Start of current week | created >= startOfWeek() |
endOfWeek() | End of current week | due <= endOfWeek() |
startOfMonth() | Start of current month | created >= startOfMonth() |
endOfMonth() | End of current month | due <= endOfMonth() |
startOfYear() | Start of current year | created >= startOfYear() |
endOfYear() | End of current year | due <= endOfYear() |
Date functions accept offset parameters:
startOfDay(-1) -- Start of yesterday
endOfWeek(1) -- End of next week
startOfMonth(-2) -- Start of two months ago
| Format | Meaning |
|---|---|
-30m | 30 minutes ago |
-4h | 4 hours ago |
-7d | 7 days ago |
-2w | 2 weeks ago |
-3M | 3 months ago (uppercase M) |
-1y | 1 year ago |
| Function | Description |
|---|---|
currentUser() | The logged-in user |
membersOf("group") | All members of a group |
| Function | Description |
|---|---|
openSprints() | Currently active sprints |
closedSprints() | Completed sprints |
futureSprints() | Planned sprints |
| Function | Description |
|---|---|
linkedIssues(key) | All issues linked to the given issue |
linkedIssues(key, "link type") | Issues linked with specific type |
| Function | Description |
|---|---|
issueHistory() | Issues you have recently viewed |
votedIssues() | Issues you have voted for |
watchedIssues() | Issues you are watching |
updatedBy(user, dateRange) | Issues updated by user in range |
ORDER BY created DESC
ORDER BY priority DESC, created ASC
ORDER BY rank ASC -- Board rank order
ORDER BY lastViewed DESC -- Recently viewed
ORDER BY key ASC -- Stable ordering
Sortable fields: key, summary, assignee, reporter, priority, status, resolution, created, updated, due, resolved, rank, lastViewed, plus most custom fields.
status = "In Progress"summary ~ "can\'t login""Story Points" > 5Reserved characters: + - & | ! ( ) { } [ ] ^ ~ * ? \ :
-- My open issues
assignee = currentUser() AND resolution = Unresolved
-- Unassigned issues
assignee IS EMPTY AND resolution = Unresolved
-- Issues assigned to my team
assignee IN membersOf("dev-team") AND resolution = Unresolved
-- Created this week
created >= startOfWeek()
-- Updated in the last 24 hours
updated >= -24h
-- Overdue issues
due < now() AND resolution = Unresolved
-- Due this week
due >= startOfWeek() AND due <= endOfWeek()
-- All in-progress work
statusCategory = "In Progress"
-- Blocked issues (using label convention)
labels = blocked AND resolution = Unresolved
-- Recently resolved
resolved >= -7d
-- Issues fixed in a release
fixVersion = "v1.0.0"
-- Issues affecting a version
affectedVersion = "v0.9.0" AND resolution = Unresolved
-- Current sprint
sprint in openSprints()
-- Backlog items ready for sprint
sprint IS EMPTY AND status = "Ready" AND type IN (Story, Task, Bug)
-- Sprint carryover
sprint in closedSprints() AND resolution = Unresolved
-- All bugs across projects
issuetype = Bug AND resolution = Unresolved ORDER BY priority DESC
-- Issues from multiple projects
project IN ("PROJ", "DEV") AND updated >= -7d