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)

以上!

相关推荐
@zulnger2 分钟前
python 学习笔记(异常对象)
笔记·python·学习
No0d1es7 分钟前
2025年12月 GESP CCF编程能力等级认证Python七级真题
python·青少年编程·gesp·ccf
Hello.Reader8 分钟前
PyFlink Table API Data Types DataType 是什么、UDF 类型声明怎么写、Python / Pandas 类型映射一文搞懂
python·php·pandas
嫂子的姐夫10 分钟前
013-webpack:新东方
爬虫·python·webpack·node.js·逆向
CCPC不拿奖不改名11 分钟前
python基础:python语言的数据结构+面试习题
开发语言·数据结构·python·面试
eybk11 分钟前
拖放pdf转化为txt文件多进程多线程合并分词版
java·python·pdf
APIshop16 分钟前
Python 爬虫获取「item_video」——淘宝商品主图视频全流程拆解
爬虫·python·音视频
数据大魔方18 分钟前
【期货量化实战】威廉指标(WR)策略:精准捕捉超买超卖信号(Python源码)
开发语言·数据库·python·算法·github·程序员创富
天天睡大觉18 分钟前
Python学习6
windows·python·学习
亮子AI19 分钟前
【Python】Typer应用如何打包为Windows下的.exe文件?
开发语言·windows·python