搜索JIRA(简单语言)中的任务。 第2部分:高级搜索

对于以前不熟悉JIRA的专家,很难理解没有示例的JQL查询的结构。

我们已经设法告诉您一个快速而基本的搜索。 现在,让我们继续使用三种方法中最强大的方法- 高级搜索。

在此模式下,您可以指定在其他前两种模式下无法设置的条件(例如,ORDER BY排序)。 但是您必须掌握使用JIRA查询语言(JQL)进行结构化查询的创建。



要使用“高级”搜索,请转到菜单项“ 搜索”->“搜索查询”。

如果您处于“基本”搜索模式,请单击“高级”按钮





1.创建JQL查询

最简单的JQL查询包含一个字段,后跟一个运算符,然后是该字段的一个或多个有效值。 例如:

项目=“ YAT”

这样的请求将有助于找到YAT项目的所有任务。 在此使用项目字段,等效的运算符为“ =”,有效值为“ YAT”。

一个更复杂的查询可能如下所示:

项目=“ YAT”且受让人= currentuser()

因此,我们将选择分配给当前用户的“ YAT”项目的所有任务
(即对您)。 该请求包含:逻辑运算符“ AND”,用于由当前用户选择任务的字段“ assignee”,等效运算符“ =”和函数“ currentuser()”,该函数返回系统当前用户的名称。

在高级搜索模式下创建查询时,JIRA将显示该查询字段的所有可能运算符的列表。

JIRA还显示了“ AffectedVersion ”,“ FixVersion ”,“ Components ”字段,自定义“ Version ”格式字段和下拉列表的可用值列表。

在搜索中使用用户格式字段时,JIRA允许您按姓氏查找所需的用户。

您可以在复杂的JQL查询中使用括号。 例如,如果要查找SysAdmin项目中所有允许的任务以及当前分配给系统管理员(admin)的所有任务(任何状态,任何项目),则可以使用括号来指示请求中逻辑运算符的优先级。

(项目= SysAdmin,状态=已解决)或受让人=管理员

注意!

JQL具有保留字符。
象征+;|*/^$@[]

如果要在请求中使用其中之一,则必须:
  1. 选择包含特殊字符的文本,使用双引号(“ ......”)或单引号('......');
  2. 如果搜索文本包含以下所列字符之一,则始终在其前面加上双反斜杠(“ \\”)。
    +-&|! (){} [] ^〜*? \:
  3. 此外,为了在JIRA中保持有效的搜索,保留了保留的英语单词(也称为“停用词”),这些单词在JQL搜索中会被忽略。 此类单词的列表:
    “ A”,“ and”,“ are”,“ as”,“ at”,“ be”,“ but”,“ by”,“ for”,“ if”,“ in”,“ into”,“ is” “,”,“,”或“,”上的“,”,“,”,“,”,“,”,“,”,“ “这些”,“它们”,“此”,“至”,“是”,“将”,“具有”

一个例子:
摘要〜“ \\ [示例\\]”

注意!
JIRA也保留了一些字眼。

如果在搜索文本中提到以下单词之一,则该文本必须是双引号(“ ......”)或单引号('......')。

保留字列表:
“中止”,“访问”,“添加”,“之后”,“别名”,“全部”,“更改”,“和”,“任何”,“ as”,“ asc”,“审核”,“ avg” ”
“之前”,“开始”,“之间”,“布尔”,“中断”,“按”,“字节”
ç“捕获”,“ cf”,“字符”,“字符”,“检查”,“检查点”,“整理”,“整理”,“列”,“提交”,“连接”,“继续”,“计数” “,”创建”,“当前”
d“日期”,“十进制”,“声明”,“减量”,“默认”,“默认值”,“定义”,“删除”,“定界符”,“ desc”,“差异”,“不同”,“分隔” “,”执行“,”双“,”放下“
Ë“其他”,“空”,“编码”,“结束”,“等于”,“转义”,“排他”,“执行”,“执行”,“存在”,“解释”
˚F“ False”,“ fetch”,“ file”,“ field”,“ first”,“ float”,“ for”,“ from”,“ function”
^ h“有”
“已标识”,“如果”,“立即”,“输入”,“增量”,“索引”,“初始”,“内部”,“输入”,“输入”,“插入”,“整数”,“整数” “,”相交“,”相交“,”成“,”为“,”为空“,”为空“
Ĵ“加入”
大号“最后”,“左”,“少”,“喜欢”,“极限”,“锁定”,“长”
中号“最大”,“最小”,“减”,“模式”,“修改”,“模”,“更多”,“乘”
ñ“下一个”,“ noaudit”,“ not”,“ notin”,“ nowait”,“ null”,“ number”
Ø“对象”,“的”,“在”,“选项”,“或”,“订单”,“外部”,“输出”
P“权力”,“上一个”,“先前”,“特权”,“公共”
[R“提高”,“原始”,“剩余”,“重命名”,“资源”,“返回”,“返回”,“撤销”,“右”,“行”,“ rowid”,“ rownum”,“行” ”
小号“选择”,“会话”,“设置”,“共享”,“大小”,“ sqrt”,“开始”,“严格”,“字符串”,“减”,“求和”,“同义词”
Ť“表格”,“然后”,“至”,“反式”,“交易”,“触发”,“真”
ü“ Uid”,“工会”,“唯一”,“更新”,“用户”
V“验证”,“值”,“视图”
w ^“何时”,“何时”,“何处”,“何时”,“伴随”


2.使用模板进行文本搜索

特殊字符可用于定义文本搜索模式。 让我们看几个例子:
签收范围和说明例子
“?” 用于替换模式中的单个字符。
例如,“文本”和“测试”一词的拼写不同
单个字符。 搜索两个选项就足够了
设置模式: te?t
摘要〜“ te?t”
*“ *”用于替换文本模板
零个或多个字符。 例如,选择文本
可以使用“ Windows”,“ Win95”或“ WindowsNT”
模式: 赢*
选择文本“ Win95”或“ Windows95”
可以使用的模式: wi * 95
摘要〜“ wi * 95”
“〜”可用于设置
模糊搜索模式。 在这种情况下,字符“〜”
在所需单词的末尾替换。 举个例子
找到类似于“漫游”的术语拼写
使用方式: 漫游〜
结果,可以找到单词“泡沫”或“漫游”。

摘要〜“代理〜”


3. JQL逻辑运算符

操作员内容描述例子
连接两个或多个条件的逻辑运算“与”。 用于阐明选择条件。
项目=“ YAT”,状态=“打开”-选择“ YAT”项目的所有任务
处于“打开”状态
连接两个或多个条件的逻辑运算“或”。
记者= demo_1
或reportor = demo_2-选择由...撰写的所有项目任务
是用户demo_1
或用户demo_2。
逆转逻辑条件的结果。不是受让人= demo_1-
选择所有执行者的任务
不是用户demo_1。
订购排序依据。

默认情况下,它将使用自己的顺序,
适用于此领域。 您可以覆盖排序方向-
升序(“ asc”)或降序(“ desc”)。
duedate =创建的空订单-
选择所有具有空截止日期字段的任务,
通过“已创建”字段对选择结果进行排序。

duedate =创建的订单为空,优先级为-
选择所有具有空截止日期字段的任务,
按“已创建”字段对选择结果进行排序
按照自己的顺序,然后在“优先级”(Priority)字段中
降序排列。

4. JQL比较运算符
操作员内容描述例子
=当量

用于分配
完全符合标准。
记者= demo_1
!=不相等。

用于设置搜索条件,
这清楚地表明,在发现
该任务不得包含特定字段
一定的价值。
记者!= demo_1

或者你可以使用记录
不是记者= demo_1
>不仅如此。

用于创建表达式。
使用“版本”格式的字段,
日期时间格式和数字字段。
票数> 4
截止日期>现在()
> =大于或等于。

用于创建表达式。
使用“版本”格式的字段,
日期时间格式和数字字段。
票数> = 4
截止日期> =“ 2008/12/31”
创建> =“-5d”
<少于那个。

用于创建表达式。
使用“版本”格式的字段,
日期时间格式和数字字段。
票数<4
截止日期<现在()
<=小于或等于。

用于创建表达式。
使用“版本”格式的字段,
日期时间格式和数字字段。
已更新<=“ -4w 2d”
用于按可用性选择任务
在其中一个值的特定字段中。

一组值选项在两边都突出显示。
括号,方括号内的选项
以逗号分隔。
(“ 3.14”,“ 4.2”)中的受影响版本
(demo_1,demo_2)中的记者
或(demo_1,demo_2)中的受让人
不在用于选择任务
在某个不包含的字段中
没有列出的值。

一组值选项在两边都突出显示。
括号,方括号内的选项
以逗号分隔。
FixVersion不在(A,B,C,D)中

或者你可以使用记录
不是(A,B,C,D)中的FixVersion
包含。

仅用于标准
通过文本字段选择。
总结〜赢
摘要〜“问题收集器”
~~不包含。

仅用于标准
通过文本字段选择。
摘要!〜“问题收集器”

或者你可以使用记录
没有总结〜“问题收集器”
可以使用此运算符
仅具有EMPTY或NULL值。

用于搜索任务,特定字段
其中不包含值。
fixVersion为空
不是可以使用此运算符
仅具有EMPTY或NULL值。

用于搜索定义的任务
必填字段。
受影响的版本不为空
要选择任务,请指定一个字段
以前具有指定值。

仅适用于以下领域:

  • “记者”(作者);
  • “受让人”(承包商);
  • “修复版本”(版本中已修复);
  • “受影响的版本”(以版本显示);
  • “优先级”;
  • “状态”;
  • “决议”。

WAS运算符还可能具有以下可选谓词:

  • 之后“日期”
  • 在“日期”之前
  • 按“用户名”
  • DURING(“ date1”,“ date2”)
  • 在“日期”

状态为“进行中”-用于选择任务,
处于“进行中”状态。

状态在“ 2011/02/02”之前通过demo_1被“解决”
用于选择转换为“已解决”状态的任务
由demo_1直到日期“ 2011/02/02”。
要选择任务,请指定一个字段
以前包含列出的值之一。

用于的范围和谓词
操作员WAS IN,与操作员WAS相同。
状态WAS IN(“已解决”,“进行中”)
在“ 2011/02/02”之前-用于选择翻译的任务
处于“已解决”或“进行中”状态,直到“ 2011/02/02”为止。
不在选择永不执行的任务
直到某个时候,都没有保持一定的状态
字段均未列出任何值。

适用于WAS NOT IN运算符的范围和谓词,
与WAS运营商相同。
状态未输入(“已解决”,“进行中”)
在“ 2011/02/02”之前-用于选择以前未找到的任务
处于“已解决”和“进行中”状态
直到日期“ 2011/02/02”。
不是选择永不执行的任务
直到某个时候,都没有保持一定的状态
设置值字段。

适用于WAS NOT运算符的范围和谓词,
与WAS运营商相同。
状态不是“进行中”
在“ 2011/02/02”之前-用于选择以前未找到的任务
处于“进行中”状态的状态,直到“ 2011/02/02”为止。
已变更选择其指定字段已更改的任务。

仅适用于以下领域:

  • “记者”(作者);
  • “受让人”(承包商);
  • “修复版本”(版本中已修复);
  • “受影响的版本”(以版本显示);
  • “优先级”;
  • “状态”;
  • “决议”。

WAS运算符还可能具有以下可选谓词:

  • 之后“日期”
  • 在“日期”之前
  • 按“用户名”
  • DURING(“ date1”,“ date2”)
  • 在“日期”
  • 来自“ oldvalue”
  • 致“新价值”

受让人已更改-用于选择任务的执行者
已更改。

状态从“进行中”更改为“打开”-用于选择任务
状态已从“进行中”更改回“打开”状态。
在endOfWeek()之前,优先级已由demo_1更改

AFTER startOfWeek()-用于选择优先级较高的任务
在本周由demo_1进行了更改。

5. JQL函数
功能介绍内容描述句法可用的运算符例子
已批准()仅适用于JIRA服务台。

要选择需要批准的JIRA Service Desk任务,最终决定将被批准。

适用于“批准”类型的字段。
已批准()=批准=
已批准()
批准人()仅适用于JIRA服务台。

选择需要批准的JIRA Service Desk任务
或已由这些用户中的一个或全部同意。

适用于“批准”类型的字段。
批准者
(用户,用户)
=批准=批准人(demo_1,
演示_2)
级联
选项()
用于通过级联字段(从属列表的字段)的值选择任务。CascadeOption
(parentOption)

CascadeOption
(parentOption,
childOption)
在,不在级联选项中的“请求类型”(“开发人员”
“延长”)
封闭的
冲刺()
适用于Sprint字段。
选择添加到完成的Sprint中的任务。
closeSprints()在,不在冲刺
closeSprints()
组成部分
LeadByUser()
适用于
到“组件”字段。

要在“组件”字段中选择任务,在该组件中选择了您是其领导者或所选用户的组件。
组成部分
LeadByUser()
用于
用于选择任务
由当前用户
组成部分
领先用户
(用户名)
在,不在组成部分
在组件中
LeadByUser()-

组成部分
你自己吗

组成部分
在组件中
领先用户
(demo_1)-

组成部分

用户
demo_1。
目前
登入()
返回当前用户的会话时间。

在带有“已创建”字段的表达式中使用。
截止日期
(最后期限),“已解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
currentLogin()= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
创建>
currentLogin()
currentUser()返回当前授权用户的登录名。

用于创建带有Reporter字段的表达式。
(作者)
“受让人”
(承包商),“投票人”,“观察者”和“用户”格式的自定义字段。
currentUser()= ,! =记者=
currentUser()

受让人!=
currentUser()
或受让人是

最早的
未发行
版本()
根据指定项目的最早未发布版本(即要发布的下一个版本)进行搜索。

注意事项
最早的未发行版本由订单而不是日期确定。

它用于创建带有字段“ AffectedVersion”(出现在“版本”中),“ FixVersion”(出现在版本中),版本格式的自定义字段的表达式。
最早的
未发行
版本(项目)
在,不在受影响的版本=
最早未发行
版本号
(ABC)

fixVersion =
最早未发行
版本号
(ABC)
endOfDay()今天结束前搜索。

用于字段表达式
“创建”(Created),
截止日期
(截止日期)
“解决”
(决定日期)
“已更新”,自定义日期时间格式字段。
endOfDay()

endOfDay(“ inc”)

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1天。

如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
到期
<endOfDay()-
截止日期
到最后
今天。

到期时间<endOfDay
(“ +1”)-
截止日期
到最后
明天。
endOfMonth()本月月底之前搜索。

在带有“已创建”字段的表达式中使用。
截止日期
(截止日期)
“解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
endOfMonth()

endOfMonth(“ inc”)

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1个月。

如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
到期
<endOfMonth()-
截止日期
到最后
本月。

到期时间<endOfMonth
(“ + 15天”)-
截止日期
15号
下个月
endOfWeek()本周结束前搜索。

在带有“已创建”字段的表达式中使用。
截止日期
(截止日期)
“解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
endOfWeek()

endOfWeek(“ inc”),

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1周。

如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
到期
<endOfWeek()-
截止日期
到当前结束
周。

由于<endOfWeek
(“ +1”)-
截止日期
到最后
下周。
endOfYear()今年年底前搜索。

在带有“已创建”字段的表达式中使用
(已创建)
截止日期
(截止日期)
“解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
endOfYear()

endOfYear(“ inc”)

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1年。
如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
到期<endOfYear()-
截止日期
到最后
本年度。

到期时间<endOfYear
(“ + 3M”)-
截止日期
直到三月底
明年
issueHistory()返回您最近查看的50个任务。issueHistory()在,不在发行
issueHistory()
issueWith
远程链接
ByGlobalId()
用于选择具有带有特定全局ID的外部链接的任务。

注意事项
功能允许您输入
全局ID
数量上
从1到100。
空函数调用
或函数调用
与参数数量
> 100将导致错误
问题
WithRemote
LinksByGlobalId()
在,不在发行
IssuesWithRemote
链接
(abc,def)
lastLogin()返回当前用户上一次会话的开始时间。

用于字段表达式
“创建”(Created),
截止日期
(截止日期)
“解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
lastLogin()= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
创建>
lastLogin()
最新的
已发行
版本()
根据指定项目的最新发布版本进行搜索。

注意事项
发布的最新版本由订单而不是日期确定。

它用于创建带有字段“ AffectedVersion”(在版本中显示),“ FixVersion”(在版本中固定),版本格式的自定义字段的表达式。
最新的
ReleasedVersion
(项目)
= ,! =受影响的版本=
最新发布
版本(ABC)

fixVersion =
最新发布
版本(ABC)
linkedIssues()根据与特定任务的连接的存在来选择任务。

注意事项
LinkType区分大小写。
关联问题
(issueKey)

关联问题
(issueKey,linkType)
在,不在链接问题中的问题
(ABC-123,
“由...重复”)
MembersOf()根据属于特定字段和特定JIRA组的用户来选择任务。

用于创建带有“报告者”(作者),“受让人”(艺术家),“投票人”,“观察者”和“用户”格式的自定义字段的表达式。
成员
(组)
在,不在受让人不
在membersOf(QA)中
myApproval()仅适用于JIRA服务台。

选择需要当前用户批准或当前用户已同意的JIRA Service Desk任务。
适用于“批准”类型的字段。
myApproval()=批准=
myApproval()
myPending()仅适用于JIRA服务台。

选择需要当前用户批准的JIRA Service Desk任务。
适用于“批准”类型的字段。
myPending()=批准=
myPending()
现在()搜索当前时间

用于创建带有“报告者”(作者),“受让人”(艺术家),“投票人”,“观察者”和“用户”格式的自定义字段的表达式。
现在()= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
截止日期<现在()
和状态不在
(已关闭,已解决)
openSprints()适用于Sprint字段。

选择添加到不完整冲刺的任务
openSprints()在,不在冲刺
openSprints()
待处理()仅适用于JIRA服务台。

用于选择需要批准的JIRA Service Desk任务。

适用于“批准”类型的字段。
待处理()=批准=
待处理()
由()仅适用于JIRA服务台。

选择需要特定用户批准的JIRA Service Desk任务。

适用于“批准”类型的字段。
待定
(用户1,用户2)

项目领导
按用户()
=批准=
待处理(demo_1)

批准=
待定(demo_1,
演示_2)
项目领导
按用户()
从分配了特定用户的项目负责人的项目中选择任务。

适用于“项​​目”字段。
projectsLeadByUser()
-用于选择任务
由当前用户。

项目领导
使用者
(用户名)
在,不在项目在
项目领导
按用户()
AND状态=打开

项目在
项目领导
按用户(demo_1)
AND状态=打开
专案
用户

权限()
从当前用户具有特定权限的项目中选择任务。

适用于“项​​目”字段。
专案
用户
许可
(权限)
在,不在项目在
项目地点
用户拥有
权限
(“解决问题”)
AND状态=打开
专案
用户
HasRole()
从当前用户具有特定项目角色的项目中选择任务。

适用于“项​​目”字段。
项目地点
UserHasRole
(角色)
在,不在项目在
项目地点
UserHasRole
(“开发人员”)
AND状态=打开
已发布
版本()
一次搜索特定项目或所有JIRA项目的发布版本。

它用于创建带有字段“ AffectedVersion”(在版本中显示),“ FixVersion”(在版本中固定),版本格式的自定义字段的表达式。
ReleasedVersions()-
用于选择任务
对于所有项目。

版本
(项目)
在,不在fixVersion在
版本
(ABC)

in版本
版本
(ABC)
标准
IssueTypes()
用于选择父类型的任务。标准
IssueTypes()
在,不在问题类型
标准
IssueTypes()
startOf
天()
今天的开始前搜索。

在带有“已创建”字段的表达式中使用
(已创建)
截止日期
(截止日期)
“解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
startOfDay()

startOfDay(“ inc”)

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1天。

如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
创建>
startOfDay()-
任务创建
当前一天。

创建>
startOfDay
(“ -3d”)-任务,

最后三天。
startOf
月()
当前月初进行搜索

用于字段表达式
“创建”(Created),
截止日期
(截止日期)
“解决”
(决定日期)
日期时间格式的自定义字段“已更新”。
startOfMonth()

startOfMonth(“ inc”)

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1个月。

如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
在操作员的谓词中被,被,不被,不被,改变
创建>
startOfMonth()-任务,

当月

创建> startOfMonth
(“ + 14d”)-任务,
从十五开始
当月的日期。
startOf
周()
当前周开始前搜索。

用于字段表达式
“创建”(Created),
截止日期
(截止日期)
“解决”
(决定日期)
“已更新”,自定义日期时间格式字段。
startOfWeek()

startOfWeek(“ inc”),

公司在哪里
可选的
入罪
(±)nn(y | M | w | d | h | m)。

如果单位说明符
省略了时间测量
默认使用
自然的功能期
即1周。

如果省略±,
那么默认值为+。
= ,! =,>,> =,<,<=
WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED
created >
startOfWeek()- ,

.

created >
startOfWeek
("-1") — ,


.
startOf
Year()
.


«Created»
(),
«Due Date»
( ),
«Resolved»
( ),
«Updated» (), -.
startOfYear()

startOfYear(«inc»)

inc —


(±)nn(y|M|w|d|h|m).


,

,
. . 1 .

±,
+.
=, !=, >, >=, <, <=
WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED
created >
startOfYear() —

.

created >
startOfYear
("-1") — ,


.
subtask
IssueTypes()
.subtask
IssueTypes()
IN, NOT INissuetype in
subtask
IssueTypes()
unreleased
Versions()
JIRA-.

«AffectedVersion» ( ), «FixVersion» ( ), Version.
unreleasedVersions()


.

unreleased
Versions
(project)
IN, NOT INfixVersion in
unreleased
Versions(ABC)
voted
Issues()
, .votedIssues()IN, NOT IN
投票的问题()
关注的
问题()
选择您是观察员的任务。watched问题()在,不在发行
watchedIssues()


我希望对高级模式的分析将有助于您找到任务。
使用并且不要迷路;)

Source: https://habr.com/ru/post/zh-CN449932/


All Articles