jira software 如何使用JQL 定义筛选条件
时间: 2025-07-04 21:43:20 浏览: 28
<think>好的,用户想了解如何在Jira Software中使用JQL定义筛选条件,需要教程和示例语法。首先,我需要回忆JQL的基本结构和常用语法。JQL是Jira Query Language,用于创建筛选器,搜索特定的问题。
用户可能需要基础语法,比如字段、运算符、关键字的使用。例如,像project = "项目名"这样的基本查询。还要注意JQL的运算符,比如等于、不等于、IN、NOT IN,以及比较运算符如>、<等。日期函数也是常见的需求,比如使用created > -7d来查找最近一周创建的问题。
然后,组合查询条件,使用AND、OR来连接多个条件,以及使用括号来分组逻辑。例如,status = Open AND (assignee = currentUser() OR priority = High)。这部分需要详细说明,确保用户理解如何构建复杂的查询。
高级用法可能包括使用ORDER BY排序,使用WAS运算符跟踪状态变化历史,或者使用函数如currentUser()。例如,project = PROJ AND assignee = currentUser() ORDER BY updated DESC。
示例部分需要给出几个典型场景,比如查找未解决的Bug,特定迭代的任务,或者报告逾期问题。这些例子能帮助用户快速应用JQL到实际工作中。
另外,用户可能对保存和分享筛选器感兴趣,需要简要说明如何保存JQL查询,方便以后使用。同时,注意提示Jira的字段名称可能需要根据实际配置调整,比如自定义字段可能需要使用“cf_XXXXX”来引用。
还要检查是否有相关的引用内容可以支持回答。查看用户提供的引用,引用[3]提到了Jira的REST API文档,可能和JQL的使用相关,可以指出如果需要自动化或集成,可以结合REST API使用JQL,但当前问题主要关注查询语言本身,所以可能不需要深入API部分,但可以提及作为扩展知识。
确保回答结构清晰,分点说明基础语法、运算符、组合条件、高级用法和示例,最后总结最佳实践,比如测试查询和保存常用筛选器。同时,避免使用Markdown格式,使用自然的中文段落,但根据用户要求,数学表达式需要使用$...$,不过JQL不涉及数学公式,所以可能用不上。但如果有涉及到版本号之类的,比如Jira 7.7.1,可以引用对应的文档[^3]。
最后,生成相关问题,考虑用户可能的后续问题,比如优化JQL性能、处理复杂逻辑、自定义字段的使用,或者与REST API的结合,这样能帮助用户进一步学习。</think>### Jira Software中使用JQL定义筛选条件教程
JQL(Jira Query Language)是Jira中用于精确搜索问题的查询语言,支持通过字段、运算符和函数组合条件。以下是核心语法和示例:
---
#### **一、基础语法与运算符**
1. **字段匹配**
- `project = "项目名称"`:筛选指定项目的问题。
- `issuetype = Bug`:筛选类型为Bug的问题。
- `status IN ("进行中", "待验收")`:匹配多个状态值。
2. **比较运算符**
- `priority > High`:优先级高于High(需字段支持顺序)。
- `created >= -7d`:最近7天内创建的问题(日期函数)。
- `updated < startOfDay()`:今天之前更新的问题。
3. **逻辑运算符**
- `AND`:同时满足多个条件,如 `status = Open AND assignee = john`。
- `OR`:满足任意条件,如 `priority = High OR labels = urgent`。
- `NOT`:排除条件,如 `NOT component = "API"`。
---
#### **二、组合条件与分组**
使用括号明确逻辑优先级:
```jql
(status = Open OR status = Reopened) AND (assignee = currentUser() OR reporter = currentUser())
```
表示:当前用户负责或报告的问题,且状态为“打开”或“重新打开”。
---
#### **三、常用函数与高级用法**
1. **时间函数**
- `created >= startOfWeek()`:本周创建的问题。
- `dueDate <= endOfMonth()`:本月到期的任务。
2. **状态追踪**
- `status WAS "已完成" DURING ("2023-10-01", "2023-10-31")`:10月内曾处于“已完成”状态的问题。
3. **排序与分页**
```jql
project = PROJ ORDER BY updated DESC, priority ASC
```
按更新时间降序、优先级升序排列。
---
#### **四、示例语法**
1. **查找未解决的Bug**
```jql
issuetype = Bug AND resolution = Unresolved
```
2. **筛选当前用户负责的逾期任务**
```jql
assignee = currentUser() AND dueDate < now()
```
3. **跨项目查询**
```jql
(project = PROJ_A OR project = PROJ_B) AND labels = "security"
```
---
#### **五、保存与共享筛选器**
1. 在Jira的“问题搜索”页面输入JQL后,点击 **Save as** 保存为命名筛选器。
2. 通过 **Share** 功能将筛选器共享给团队。
---
#### **注意事项**
- 字段名称需与Jira配置完全一致(如区分大小写)。
- 自定义字段需通过ID引用(如 `cf_12345 = "值"`)。
- 测试复杂查询时,建议逐步添加条件验证结果。
---
阅读全文
相关推荐



















