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)

以上!

相关推荐
Csvn2 分钟前
📊 SQL 入门 Day 22:视图与物化视图
后端·sql
Csvn5 分钟前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
大鹏说大话2 小时前
从爬虫到决策引擎:大数据下自媒体如何用Python挖掘用户痛点
开发语言·爬虫·python
Niuguangshuo2 小时前
silero-vad:超轻量级开源 VAD 实践指南
开发语言·python
2501_944676163 小时前
揭秘!WORDTIP公司靠不靠谱?小白必看
大数据·人工智能·python
Minner-Scrapy4 小时前
Scrapy 2.17 源码解析:Scheduler 调度器与磁盘/内存双队列
java·爬虫·python·scrapy·网络爬虫·twisted
CODER03044 小时前
Anaconda和Mamba创建环境管理包常用命令合集
python·深度学习·conda·虚拟环境·mamba·常用命令大全
闲猫4 小时前
LangGraph / Capabilities / Fault tolerance
python·agent·langgraph
IvanCodes5 小时前
Python 基础语法(一):变量、数据类型与运算符
python
程序员三藏5 小时前
浅谈性能测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试