JQL 语法简介

JIRA 的 JQL 语法由以下几个元素组成

  • field (字段) : 就是要搜索的JIRA Issue 的各个字段
  • operator(运算符或者也叫操作符):如 =,  < , > , in
  • value(值):具体要查询的字段匹配的值
  • keyword(关键字): keyword这个字面上理解可能会带来些歧义, 主要有以下作用
    • 连接两个表达式,即通常我们所说的逻辑运算符:ANDORNOT
    • 排序运算符:ORDERBY
    • 还有一部分就是表示空的关键字: NULLEMPTY,这两个貌似才是通常意义上的关键字
  • function(方法):即JIRA提供的一些方法,如 now()表示当前时间,currentUser()表示当前用户等

语法的示例如下

field(字段)

Affected version
Approvals
Assignee
Attachments
Category
Comment
Component
Created
Creator
Custom field
Customer Request Type
Description

Due
Environment
Epic link
Filter
Fix version
Issue key
Issue link type
Labels
Last viewed
Level
Original estimate
Parent

Priority
Project
Remaining estimate
Reporter
Request channel type
Request last activity time
Resolution
Resolved
SLA
Sprint
Status
Summary

Text
Time spent
Type
Updated
Voter
Votes
Watcher
Watchers
Work log author
Work log comment
Work log date
Work ratio
自定义字段

operator(运算符)

EQUALS: =
NOT EQUALS: !=
GREATER THAN: >
GREATER THAN EQUALS: >=
LESS THAN: <
LESS THAN EQUALS: <=

IN
NOT IN
CONTAINS: ~
DOES NOT CONTAIN: !~

IS
IS NOT
WAS
WAS IN
WAS NOT IN
WAS NOT
CHANGED

keyword(关键字)

AND
OR
NOT

EMPTY
NULL

ORDER BY


function(方法) --部分

时间相关
startOfDay/Week/Month/Year
endOfDay/Week/Month/Year
lastLogin()
now()

人员相关
currentLogin()
currentUser()
membersOf()

Issue相关
issueHistory()
openSprints()
watchedIssues()
myApproval()
myPending()


详细的说明请参见官方文档


JQL 用法举例

下面是我们总结的一些常用的JQL 使用场景和举例