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)

以上!

相关推荐
0思必得08 分钟前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
麦聪聊数据21 分钟前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
沈浩(种子思维作者)21 分钟前
系统要活起来就必须开放包容去中心化
人工智能·python·flask·量子计算
2301_7903009626 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_7369191043 分钟前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
getapi1 小时前
实时音视频传输与屏幕共享(投屏)
python
java干货1 小时前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
机器懒得学习1 小时前
智能股票分析系统
python·深度学习·金融
毕设源码-郭学长1 小时前
【开题答辩全过程】以 基于python的二手房数据分析与可视化为例,包含答辩的问题和答案
开发语言·python·数据分析
SR_shuiyunjian1 小时前
Python第三次作业
python