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)

以上!

相关推荐
℡終嚸♂68019 分钟前
sql注入知识点(正则回溯绕过waf,CTF ez—RCE题目解析)
数据库·sql·oracle
Hgfdsaqwr7 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
开发者小天7 小时前
python中For Loop的用法
java·服务器·python
老百姓懂点AI8 小时前
[RAG实战] 向量数据库选型与优化:智能体来了(西南总部)AI agent指挥官的长短期记忆架构设计
python
喵手10 小时前
Python爬虫零基础入门【第九章:实战项目教学·第15节】搜索页采集:关键词队列 + 结果去重 + 反爬友好策略!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·搜索页采集·关键词队列
Suchadar10 小时前
if判断语句——Python
开发语言·python
ʚB҉L҉A҉C҉K҉.҉基҉德҉^҉大10 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
喵手10 小时前
Python爬虫零基础入门【第九章:实战项目教学·第14节】表格型页面采集:多列、多行、跨页(通用表格解析)!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·表格型页面采集·通用表格解析
0思必得011 小时前
[Web自动化] 爬虫之API请求
前端·爬虫·python·selenium·自动化
莫问前路漫漫11 小时前
WinMerge v2.16.41 中文绿色版深度解析:文件对比与合并的全能工具
java·开发语言·python·jdk·ai编程