如何在不带括号的情况下评估JQL中的多个AND和OR?

时间:2019-06-14 16:13:11

标签: jira jql

我必须记录某人写的某人不在公司的查询。该查询是在Jira中进行的JQL搜索。这个人没有使用括号,这是AND和OR的巨大障碍。我知道它的评估从左到右,但是在这种情况下,我真的不知道这意味着什么。我在写这些东西时会用括号。

这是查询的样子(我在这里将其保留为一般性。

字段1 =答案1 AND字段2 =答案2 AND字段3 =答案3或字段4 =答案4 AND字段5 =答案5或字段6 =答案6或字段7 =答案7 AND字段8 =答案8

让我们接受第一个“ OR”。我不知道第一个OR是否会强制将前三件事归为一组,或者仅是ORing field3和field4。

然后在第二个OR上相同。是仅对field6和field7进行“或”运算,还是对它与field7之前的所有内容,其之前或之后的所有内容进行“或”运算?

最终目标是尝试添加括号并能够使我的老板了解其真实含义。

到目前为止,我唯一尝试过的就是大量阅读和谷歌搜索。

2 个答案:

答案 0 :(得分:0)

如果您尝试将评估称为Excel函数评估器中的评估方式,那么对不起,这里的评估并不那么容易。

要了解必须运行查询的JQL中的多个逻辑运算符

  • 通过将查询拆分为较小的查询(分而治之)
  • 分析每个结果
  • 最终将它们集成起来以获得完整的结果。

您可以使用嵌套JQL从各种查询中获取结果。-但是Jira正在进行此功能-请参阅https://jira.atlassian.com/browse/JRASERVER-21936

此堆栈溢出引用JQL Query - Use a filter result in another JQL query

答案 1 :(得分:0)

根据文档here

您可以在复杂的 JQL 语句中使用括号来强制运算符的优先级。

例如,如果您想查找“SysAdmin”项目中所有已解决的问题,以及当前分配给系统管理员 (bobsmith) 的所有问题(任何状态、任何项目),您可以使用括号来强制执行查询中布尔运算符的优先级,即

(status=resolved AND project=SysAdmin) OR assignee=bobsmith

请注意,如果不使用括号,则语句将从左到右求值。

对于您的情况,最好用括号将所有逻辑运算符括起来以清理混乱。