资源分享-jira jql的常规用法

郑重声明: 本文首发于人工博客

1、遇到的问题

我们在利用jira的jql制作各种看板的时候,往往是是针对某个sprint制作了各种过滤器,进而配置出各种监控的看板。方便直观的监控项目的进度和风险。但是遇到的问题是。当下一个sprint开始的时候,又得去手动把过滤器的sprintId手动调整。费事费力,那么有没有一个自动获取最新打开的sprint的函数呢?

2、当前问题的方案

sprint in openSprints()

3、继续拓展

解决了当下的问题,顺便挖掘下jql的用法

3.1、JQL的保留关键字

JQL有以下保留的字符:2480f77fb5a41439c305134ba6b5b637.webp

如果你需要在查询中作为内容来使用这些字符,就需要做如下转化:

  • 用单引号或双引号把他们包起来
  • 在前面放两个反斜杠
 version = "[example]"
summary ~ "\\[example\\]"

3.2、特性介绍

3.2.1 WAS运算符

WAS运算符包括Was,Was in,Was not,Was not inbe8056c2579f3bfe5d3b5c7e8c7214c8.webp
WAS这个运算符可以查找当前或曾经的一个状态,例如:

 assignee WAS "leo"

这个用于查找当前或曾经分配给leo的所有问题,这个功能很实用也很强大。

3.2.2 CHANGED运算符

CHANGED运算符用于查找问题单的某个特定字段被变更过了。这个运算符有以下一些常见用法:

AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
FROM "oldvalue"
TO "newvalue"

备注: CHANGED运算符常被用于Assignee, Fix Version, Priority, Reporter, Resolution, and Status这些字段。

举例

assignee CHANGED
status CHANGED FROM "In Progress" TO "Open"
priority CHANGED BY freddo BEFORE endOfWeek() AFTER startOfWeek()

3.2.3 查询是否带有附件

查询带有附件的问题:

attachments IS NOT EMPTY

查询不带附件的问题:

attachments IS EMPTY

3.2.4 查询包含特定文本

查找评论里包含有"My PC is quite old"的问题(模糊匹配):

comment ~ "My PC is quite old"

查询评论里含有完整语句"My PC is quite old"的问题:

 comment ~ "\"My PC is quite old\""

3.2.5 支持的函数

当使用 EQUALS, NOT EQUALS, GREATER THAN, GREATER THAN EQUALS, LESS THAN 或LESS THAN EQUALS运算符时,该字段支持:

currentLogin()
lastLogin()
now()
startOfDay()
startOfWeek()
startOfMonth()
startOfYear()
endOfDay()
endOfWeek()
endOfMonth()
endOfYear()

4、实例分享

project = xxx AND status in (延期处理, 需求测试, BUG修复, BUG验收, BUG打开, 任务开发, 任务打开, 任务测试, BUG测试, 完成, "需求串讲&排期", 技术方案设计, 技术方案评审, 任务分解中, 需求开发中, "单元测试&冒烟测试", 功能演示, 需求待开发) AND Sprint in openSprints() AND 计划结束时间 >= 0d AND 计划结束时间 <= 0d ORDER BY due ASC, status ASC, created DESC

版权声明:本文为人工博客的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
本文链接:https://www.gzcx.net/article/1735

posted @ 2020-02-27 13:19  辛勤的蜜蜂  阅读(2198)  评论(0编辑  收藏  举报