Jira Software 使用技巧与 JQL 搜索指南 · 1. Jira 能解决什么问题至5. JQL 语句结构
Jira Software 使用技巧与 JQL 搜索指南
本文面向日常使用 Jira Software 的产品、研发、测试和项目负责人,重点介绍任务协作、看板使用、JQL 搜索和过滤器复用。
版本说明
本文以 Jira Cloud 的通用能力为基础。不同 Jira 版本、语言、项目类型和插件可能导致菜单名称、字段名称或可用函数略有差异。文中的 PAY、版本号、组件名均为示例,请替换为团队实际值。
1. Jira 能解决什么问题
Jira 的核心不是“记录任务”,而是让需求从提出到交付的状态、负责人、优先级和上下文都能被团队看见。
查看图表代码
| 常见对象 | 典型用途 | 建议 |
|---|---|---|
| Epic | 一个较大的业务目标或交付主题 | 按业务结果拆分,不要长期无限扩张 |
| Story | 用户可感知的需求 | 描述用户、目标和价值 |
| Task | 技术、运营或一般工作项 | 写清交付物和验收条件 |
| Bug | 已有行为不符合预期 | 补充环境、复现步骤、期望和实际结果 |
| Sub-task | Story 或 Task 下可独立执行的步骤 | 仅在确实需要单独跟踪时创建 |
2. 一条高质量任务应包含什么
创建任务时,建议至少补齐以下信息:
| 字段 | 需要回答的问题 | 示例 |
|---|---|---|
| Summary | 一句话说明要做什么 | 支付回调增加重复通知幂等校验 |
| Description | 背景、范围和约束是什么 | 当前重复回调可能重复记账 |
| Acceptance Criteria | 怎样才算完成 | 同一订单重复回调只成功记账一次 |
| Assignee | 当前由谁推进 | 开始处理后指派给实际负责人 |
| Priority | 不做或晚做有什么影响 | 影响资金正确性,设为 High |
| Component | 属于哪个模块 | payment-callback |
| Fix Version | 计划在哪个版本交付 | 2026.08 |
| Labels | 是否需要横向分类 | idempotency、tech-debt |
| Links | 与哪些任务、文档或事故有关 | blocks、relates to、duplicates |
一个易于协作的描述模板:
markdown
## 背景
为什么要做,当前有什么问题?
## 目标
这次需要达成什么结果?
## 范围
- 包含:
- 不包含:
## 验收条件
- [ ] 正常场景
- [ ] 异常场景
- [ ] 边界场景
## 补充信息
日志、截图、接口文档、设计稿或关联任务。标题技巧
使用“对象 + 动作 + 结果”的结构,例如“订单列表增加状态筛选,支持运营快速定位退款单”。避免只写“接口修改”“线上问题”这类缺少上下文的标题。
3. 看板与 Backlog 使用技巧
3.1 Backlog 用于排序,不是任务仓库
- 定期关闭或归档已经失效的任务。
- 排在顶部的任务应具备清晰范围和验收条件。
- 进入 Sprint 前确认负责人、依赖、工作量和交付版本。
- 大任务先拆分,再进入 Sprint,避免一张卡跨越多个迭代。
3.2 看板上的状态要反映真实进度
查看图表代码
不要为了“看起来在推进”提前移动状态。阻塞时应记录阻塞原因、依赖对象和下一次跟进时间。
3.3 善用卡片上的关联信息
- 使用
blocks / is blocked by表达前后依赖。 - 使用
duplicates / is duplicated by合并重复问题。 - 使用
relates to表达一般关联。 - 在评论中记录决策和结论,而不只记录“已沟通”。
- 使用
@提及需要行动的人,并写明期望动作。
4. 从基础搜索进入 JQL
Jira 一般提供快速搜索、基础筛选和高级 JQL 三种方式:
查看图表代码
常见入口为:
- 进入 Jira 的任务或工作项搜索页面。
- 选择基础筛选条件,确认结果范围。
- 切换到 JQL / Advanced 模式。
- 输入查询并执行搜索。
- 调整结果列和排序,保存为过滤器。
先缩小项目范围
跨全站搜索通常更慢,也更容易混入无关结果。除非确实需要跨项目统计,建议从 project = PAY 开始。
5. JQL 语句结构
JQL 类似 SQL 的筛选表达式,但它不是数据库查询语言。最常见的结构是:
text
字段 运算符 值
AND 字段 运算符 函数
ORDER BY 字段 ASC|DESC例如:
text
project = PAY
AND assignee = currentUser()
AND statusCategory != Done
ORDER BY priority DESC, updated DESC查看图表代码
5.1 常用字段
| 字段 | 含义 | 示例 |
|---|---|---|
project | 项目 | project = PAY |
issuetype | 任务类型 | issuetype = Bug |
status | 具体状态 | status = "In Progress" |
statusCategory | 状态大类 | statusCategory != Done |
assignee | 当前负责人 | assignee = currentUser() |
reporter | 报告人 | reporter = currentUser() |
priority | 优先级 | priority in (Highest, High) |
sprint | Sprint | sprint in openSprints() |
fixVersion | 修复版本 | fixVersion = "2026.08" |
component | 组件 | component = backend |
labels | 标签 | labels = tech-debt |
created | 创建时间 | created >= -7d |
updated | 更新时间 | updated >= -24h |
due | 截止时间 | due < startOfDay() |
resolution | 解决结果 | resolution is EMPTY |
summary | 标题 | summary ~ "timeout" |
text | 多个文本字段 | text ~ "timeout" |
优先使用状态大类
不同项目可能把进行中状态命名为“开发中”“处理中”或 In Progress。只关心是否完成时,statusCategory != Done 通常比枚举具体状态更容易跨项目复用。
5.2 常用运算符
| 运算符 | 用途 | 示例 |
|---|---|---|
=、!= | 等于、不等于 | priority != Low |
IN、NOT IN | 匹配多个值 | status in ("To Do", "In Progress") |
~、!~ | 文本包含、不包含 | summary ~ "payment" |
>、>=、<、<= | 日期或数值比较 | created >= -7d |
IS EMPTY | 字段没有值 | assignee is EMPTY |
IS NOT EMPTY | 字段已有值 | fixVersion is not EMPTY |
WAS | 历史上曾经为某值 | status WAS "In Progress" |
CHANGED | 字段发生过变化 | status CHANGED AFTER -7d |
5.3 逻辑与优先级
AND:所有条件都满足。OR:任意一个条件满足。NOT:排除条件。():明确计算顺序。ORDER BY:只负责排序,不改变结果范围。
text
project = PAY
AND (priority = Highest OR labels = production)
AND statusCategory != Done
ORDER BY created ASC当一条查询同时出现 AND 和 OR 时,建议始终使用括号表达意图。
5.4 常用函数
| 函数 | 含义 | 示例 |
|---|---|---|
currentUser() | 当前登录用户 | assignee = currentUser() |
openSprints() | 当前进行中的 Sprint | sprint in openSprints() |
futureSprints() | 尚未开始的 Sprint | sprint in futureSprints() |
startOfDay() | 今天开始 | updated >= startOfDay() |
startOfWeek() | 本周开始 | created >= startOfWeek() |
startOfMonth() | 本月开始 | resolved >= startOfMonth() |
endOfDay() | 今天结束 | due <= endOfDay() |
membersOf() | 指定用户组成员 | assignee in membersOf("jira-developers") |
日期函数通常支持偏移量,例如:
text
created >= startOfWeek("-1w")
updated >= startOfDay("-3d")
due <= endOfDay("+2d")继续阅读
- 编辑器与IDE完整实践与解答
- 编辑器与IDE上手与对象
- 编辑器与IDE上手与对象