如何在JQL查询中正确实现AND/OR逻辑?查询规则调整求助
正确的JQL查询写法满足你的需求
你之前的问题出在逻辑分组上:
- 原查询用
AND把Fix Version条件和Epic Link为空绑定,导致只有同时满足这两个条件的问题才会被返回——如果给无Fix Version的问题加了Version 1,Fix Version条件不满足,自然会被过滤; - 直接把最后一个
AND改成OR的话,整个查询逻辑变成了「前面所有条件都满足 OR Epic Link为空」,所以会忽略前面的项目、状态、创建人条件,直接返回所有Epic Link为空的问题。
正确的做法是把Fix Version条件和Epic Link为空打包成一个可选条件组,和前面的必填条件用AND连接,这样前面的条件必须全部满足,后面的两个条件满足其一即可。
最终的JQL语句如下:
project = Project AND status in ("status 1", "status 2", "status 3") AND creator in ("creator 1", "creator 2", "creator 3") AND ((fixVersion != "Version 1" or fixVersion is EMPTY) OR "Epic Link" is EMPTY) ORDER BY fixVersion ASC, created DESC
这个查询的逻辑是:
- 必须满足项目、指定状态、指定创建人这三个核心条件;
- 在此基础上,只要满足「Fix Version不是Version1或为空」或者「Epic Link为空」其中任意一个,就会被纳入结果列表。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

