Jira 查询语言 (JQL) 速查表

Jira 查询语言 (JQL) 支持借助灵活且功能强大的查询,在 Jira 工作区内对事务进行搜索、筛选并生成报告,以获取精准结果。当仅靠点击筛选器无法满足需求时,您可以通过这种方式搜索 Jira 中的内容。

JQL 面向所有需要对工作项执行精准、可重复检索的用户构建:调取状态报告的项目经理、审核待办事项列表的管理员,或是查找与某个特定版本相关联的全部缺陷的工程师。

JQL 查询的 4 个基本组成部分

每个 JQL 子句都由相同的四个部分构成:

组成部分

它的作用是什么

示例

字段

您要搜索的属性

priorityassigneefixVersion

运算符

建立字段与值之间的关联

=!=<IN

值或函数

用于进行匹配的对象

"High"currentUser()

关键字

连接多条子句

ANDORORDER BY

常见运算符

运算符定义了了 Jira 如何将字段与您的搜索值进行对比。您可以使用运算符查找精确匹配项、组合条件、在一组值中搜索,或是检查字段是否为空。

运算符

含义

示例

=

精确匹配

project = "Marketing Campaign"

!=

不等于

assignee != currentUser()

AND

组合条件,所有条件必须成立

priority = High AND status = Open

组合条件,任一条件成立即可

status = Open OR status = Reopened

IN

匹配列表中任意一个值

priority IN (High, Highest)

~

包含(文本搜索)

summary ~ "login error"

IS EMPTY

字段没有值

assignee IS EMPTY

关键 JQL 函数及其使用方法

JQL 函数可让用户执行更复杂的运算、对结果进行排序,并根据动态条件进行筛选,从而增强了查询功能。这些函数包括:

函数

描述

示例

ORDER BY

按字段对结果进行排序。

project = "Marketing" ORDER BY created DESC

WAS

查找以前处于特定状态的事务。

status WAS "Resolved" AND status = "Open"

CHANGED

识别在特定时间范围内修改的事务。

status CHANGED AFTER -1w

MEMBERSOF

按群组成员身份筛选事务。

assignee IN MEMBERSOF("developers")

常见 Jira 用例的 JQL 示例

下面是可在 Jira 中使用 JQL 的几种方法。

用例

JQL 查询

查询所有分配给您的高优先级事务

priority = High AND assignee = currentUser()

列出特定项目中的过期事务

project = "Customer Support" AND duedate < now() AND status != Closed

显示近期创建的事务

created >= -7d ORDER BY created DES

高级 JQL 技巧

高级搜索与 JQL 配合使用,以利用自定义字段和复杂查询。

技术

示例

如何使用

使用自定义字段

"Custom Field Name" ~ "search term"

在自定义字段中搜索,实现更贴合业务的定制化查询。

子查询

project IN subTaskIssueTypes() AND assignee = currentUser()

根据另一个查询的结果筛选事务。

特定事务类型

issuetype = Epic AND status != Done

针对特定的事务类型和状态。

如何在执行搜索之前发现错误

在 JQL 编辑器中发现错误

Jira Cloud 当前的 JQL 编辑器支持边输入边检测问题,无需等到点击搜索之后:

  • 错误检查:无效语法会立即被标记,并附带修复指引

  • 语法高亮:字段、运算符、值和函数以不同颜色区分显示

  • 自动补全:输入时自动弹出相关关键字与函数

  • 多行编辑:展开编辑器,借助行号定位错误

  • 可读的用户引用:显示用户名与头像,替代原始帐户 ID

  • JQL 调试器:当查询报错时,Rovo 会给出修正后的查询语句,供您审查并确认采用

使用 Rovo 进行搜索

您无需记忆上面任何一条 JQL 语法,就可以执行精准搜索。Atlassian 的人工智能工具 Rovo 能够自动将您输入的内容转换为 JQL 查询语句。从 Jira 搜索栏中,选择问 Rovo,然后用口语化的方式输入您的问题即可。例如:

”查找本月在移动端应用项目中上报的所有缺陷“

Rovo 会将这句话转换成对应的 JQL、执行搜索,并同时展示查询结果以及它生成的 JQL 语句。最后这一点十分重要:这是一种非常实用的实例学习 JQL 的方式,您能够清晰看到自己的日常用语问题对应到了哪些字段、运算符和函数。如果查询过于复杂,Rovo 无法在基础模式下完成解析,它会自动切换到 JQL 模式,为您提供更加精准的结果。您随时可以通过更多操作菜单切回基础模式。

Rovo 搜索最适合使用的场景

应当直接切换使用 JQL 的场景

您大致清楚想要查询什么,但不知道准确的字段名称或语法

您需要精准、可重复的查询,用于保存筛选器、面板或者仪表板

您使用日常用语以及工作项、空间或面板中的关键字进行搜索

您的查询需要用到自然语言难以可靠表达的函数或逻辑

您希望边使用边学习 JQL 语法

您使用英语以外的语言进行搜索

JQL:常见问题解答

JQL 如何帮助您在 Jira 中查找特定事务?

JQL 允许您创建自定义查询,通过经办人、状态、项目、日期等字段筛选事务,从而快速找到对您最重要的事务。

我是否可以保存我的 JQL 查询并与团队共享?

您可以将 JQL 搜索保存为筛选器,并分享给团队伙伴,方便所有人查看同一组事务。

JQL 在项目管理中有哪些常见用例?

团队经常使用 JQL 跟踪逾期任务、监控冲刺进度、识别障碍,并生成适配自身工作流的报告。

编写更高级的 JQL 查询有什么技巧吗?

通过使用运算符、函数,并用 AND/OR 组合多个条件,您就可以构建复杂查询,实现详细的事务跟踪与报告。