我在JIRA有一个标签,说Foo
。我想查询具有该标签且标签仅的所有问题。我该怎么做?
我已经尝试了
labels = Foo AND NOT(labels NOT IN (Foo))
但也会返回标记为Foo
和 Bar
的问题。我希望标记为的问题仅 Foo
。
如何在JIRA中查询具有特定标签且仅该标签的问题?
答案 0 :(得分:3)
我知道没有JQL这样做的方法(很明显,很难证明是负面的,但我对JQL有相当不错的知识)。
显而易见的方法不起作用:
labels != Foo
根本没有返回有Foo的票证(按照设计,因为!=
与文档的NOT ... =
完全相同),所以做{{ 1}}返回空集。
无法使用文本结果labels != Foo AND labels = Foo
或~
,JIRA会抛出JQL错误:!~
。那是因为它是一个选择器/多选字段,而不是文本字段。
您可以将“标签”与使用The operator '!~' is not supported by 'labels' field
进行比较的唯一值是“EMPTY”
2.5的解决方法(确实很糟糕):
找到最常用的“额外”标签,并构建一个不包括它们的查询
IS/IS NOT
优点:纯JQL,简单
缺点:不会捕获较少使用的标签;需要在添加更多标签时更新;如果你有超多个与Foo配对的额外标签,可能无法很好地扩展。
... AND labels = Foo AND labels NOT IN (Bar1, Bar2, ...)
labels_count
@@Formula: issue.get("labels").size()
优点:应该工作
缺点:我实际上没有测试它,所以不确定它是否会起作用。它需要安装一个新的插件(一个有用的插件!)和重建索引。而且我不知道它是否会在没有进一步重新索引的情况下更新字段 - 我认为这不会100%确定。
不确定这是否有效,但您可以look at another way to create custom fields:
使用Groovy代码创建一个字段以返回标签数。
最好,我可以说,像AND labels_count = 1
优点:???
缺点:付费插件,不知道如何让它发挥作用。
答案 1 :(得分:0)
我认为不是JQL。如果我真的必须这样做,我会使用python脚本来解决该标签的所有问题,然后检查其他标签。或者可能在Server中使用自定义ScriptRunner JQL函数。没有简单的方法