JQL实际“包含”

问题描述 投票:0回答:3

我想对文本字段及其部分内容执行简单搜索,但我不知道开始。我基本上想要人们对“包含搜索”的期望。如果我在

issue
中搜索
345
,我想要这样的结果:

123456
234567
345678
...

在 JQL 中,这将是查询

issue ~ "*345*"
的结果,但
*
不允许作为通配符查询中的第一个字符。有没有一种简单的方法可以获得这个结果,最好是使用 JQL 查询?

jira contains jql
3个回答
5
投票

目前无法在 JIRA 中搜索 contains 操作。如文本字段的搜索语法中所述,JIRA 支持词干提取

由于 JIRA 无法搜索包含部分单词、单词的问题 “词干提取”允许您根据搜索结果检索问题 单词的“根”(或“词干”)形式,而不需要完全匹配 这些词的具体形式。检索到的问题数 基于词干词的搜索通常会更大,因为任何 包含源自同一词根的单词的其他问题 也会在搜索结果中检索到。

这意味着,您可以搜索某个单词的共同词根,但不能搜索它的任意部分。

官方 JIRA bug tracker 中存在一个问题:允许搜索单词的一部分(前缀/子字符串搜索),这描述了为什么无法实现:

Lucene 不支持前缀搜索。

作为解决方法,建议使用 JIRA 的 Script Runner 插件:

issueFunction in issueFieldMatch("project = JRA", "description", "ABC\\d{4}")

请参阅IssueFieldMatch此处

另一个可以执行正则表达式 jql 的插件是 JQL Search Toolkit


5
投票

Summary
字段中按“345”子字符串过滤问题:

summary ~ "345"

Description
字段中按“345”子字符串过滤问题:

description ~ "345"

0
投票

自 2019 年起,可以按照 OP 的要求使用通配符进行搜索。

例如查找问题所在

issueType = Epic AND fixVersion ~ "Release_to_includ*" AND fixVersion !~ "Release_to_exclud*"
对于更复杂的(RegEx 支持的)字符串过滤,请参阅 grundic 的答案(利用 

ScriptRunner)。

© www.soinside.com 2019 - 2024. All rights reserved.