Jira系统中JQL语句的介绍

目录

什么是JQL?

JQL语法介绍

JQL的基本结构

JQL常用字段

JQL运算符

1.等于/不等于

[2.IN / NOT IN](#2.IN / NOT IN)

3.为空/非空

4.文本包含(模糊匹配)

5.时间比较

6.逻辑组合(AND/OR/NOT)与括号

7.排序

8.人员相关的常用写法

[9. 版本/组件/标签示例](#9. 版本/组件/标签示例)

[结合 Python jira库的调用](#结合 Python jira库的调用)


什么是JQL?

JQL(Jira Query Language)是 Jira 里用来"筛选问题(Issue)"的查询语言,本质上就是:用 字段 + 运算符 + 值 组合出条件,再用 AND/OR/NOT 拼起来,最后可 ORDER BY 排序。

JQL语法介绍

JQL的基本结构

JQL的基本结构如下:

python 复制代码
<条件1> AND <条件2> OR <条件3> ORDER BY <字段> DESC

常见入门例子:

python 复制代码
project = KR AND status != Done ORDER BY updated DESC

JQL常用字段

  • project:项目(Key 或名称)
  • issuekey / key:单号(如 KR-123)
  • issuetype:类型(Bug/Task/Story...)
  • status:状态(To Do/In Progress/Done...)
  • assignee:经办人
  • reporter:报告人
  • creator:创建人
  • priority:优先级
  • labels:标签
  • component:组件
  • fixVersion / affectedVersion
  • summary / description(文本搜索常搭配 ~)
  • created / updated / resolved:时间字段

JQL运算符

1.等于/不等于
python 复制代码
project = KR
status != Done
issuetype = Bug
2.IN / NOT IN
python 复制代码
project in (KR, KRSW) AND issuetype in (Bug, Task)
status not in (Done, Closed)
3.为空/非空
python 复制代码
assignee is EMPTY
fixVersion is not EMPTY
4.文本包含(模糊匹配)
python 复制代码
# ~:包含/模糊匹配(对文本字段常用)
summary ~ "memory leak"
description ~ "timeout"
5.时间比较
python 复制代码
updated >= "2025-01-01"
created < "2026-01-01"
6.逻辑组合(AND/OR/NOT)与括号
python 复制代码
# AND 优先级通常高于 OR,复杂表达式一定加括号
project = KR AND (status = "In Progress" OR status = "To Do")


# 排除条件
project = KR AND NOT labels = obsolete
7.排序
python 复制代码
project = KR ORDER BY priority DESC, updated DESC
8.人员相关的常用写法
python 复制代码
assignee = currentUser()
reporter = currentUser()
assignee was currentUser()          -- 曾经指派给我(历史)
status changed to Done after -14d   -- 14天内变为Done
9. 版本/组件/标签示例
python 复制代码
project = KR AND fixVersion = "1.2.3"
project = KR AND component = "WiFi"
project = KR AND labels in (customer, urgent)

结合 Python jira库的调用

关于实践中如何调用,下面给一个具体的例子作为参考:

python 复制代码
# 查询project为KR 而且statusCategory为Done 的issue,最后降序排列
jql = 'project = KR AND statusCategory != Done ORDER BY updated DESC'

# 根据时间 + 创建人 + 关键字(summary/description 模糊匹配)
jql = """
project = KR
AND created >= "2025-01-01"
AND created <  "2025-02-01"
AND creator = "someone"
AND (summary ~ "timeout" OR description ~ "timeout")
ORDER BY created DESC
"""


# 根据指派给某人 + 但报告人是我 + 近 30 天内创建来筛选
jql = """
project = KR
AND assignee = "someone"
AND reporter = currentUser()
AND created >= -30d
ORDER BY created DESC
"""

issues = jira.search_issues(jql, maxResults=50, fields="summary,status,assignee,updated")

for i in issues:
    print(i.key, i.fields.status.name, i.fields.summary)

以上!

相关推荐
eric-sjq1 小时前
小思框架 · 30M 级长上下文新架构对比技术报告
人工智能·python·深度学习·语言模型
reasonsummer2 小时前
【办公类-04-05】20261030整理手机照片(华为手机助手导出照片到日期文件夹+批量添加四级文件夹+手动转移照片更名+更改三级文件夹合并汉字名称)
python·智能手机
BD_Marathon3 小时前
【Python】初识迭代器
python
呆萌很3 小时前
达梦(DM8)数据库常用SQL
数据库·sql
跟太阳说早安3 小时前
极简数据库SQL
数据库·sql
gz927cool3 小时前
Python 全栈应用最佳实践完整指南
开发语言·python·ai
智购科技智能售货柜4 小时前
顾客已经关门,视觉售货柜还在处理旧画面:延迟积压怎么查?~YH
python·单片机·嵌入式硬件·物联网·eclipse
梯度下降者4 小时前
Python从0到100(三):Python中的变量介绍
python·作用域·变量·数据类型·计算机常识
AIFQuant4 小时前
Python期货行情API接入:股指、黄金、原油多品种数据管道实战
开发语言·python·金融·区块链·量化开发
威哥爱编程4 小时前
Python 智能体开发实战 07:让它查课表它张口就编?给 Agent 接上真正能动手的工具
python·agent