Skip to content
← 返回编辑器与 IDE列表
编辑器与IDE上手与对象

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-taskStory 或 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 三种方式:

查看图表代码

常见入口为:

  1. 进入 Jira 的任务或工作项搜索页面。
  2. 选择基础筛选条件,确认结果范围。
  3. 切换到 JQL / Advanced 模式。
  4. 输入查询并执行搜索。
  5. 调整结果列和排序,保存为过滤器。

先缩小项目范围

跨全站搜索通常更慢,也更容易混入无关结果。除非确实需要跨项目统计,建议从 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)
sprintSprintsprint 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()当前进行中的 Sprintsprint in openSprints()
futureSprints()尚未开始的 Sprintsprint 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")

继续阅读