JQL查询优化:如何筛选当前用户为经办人/报告人的非关闭工单
解决JQL查询包含已关闭工单的问题
问题根源
JQL中AND运算符的优先级高于OR,你原本的查询语句:
assignee = currentUser() OR reporter = currentUser() AND status not in (Closed , resolved) order by updated DESC
实际执行逻辑等价于:
assignee = currentUser() OR (reporter = currentUser() AND status not in (Closed, Resolved))
这就导致只要是你作为经办人的工单,无论状态是否关闭,都会被纳入查询结果,所以才会出现已关闭的工单。
正确的JQL语句
把「当前用户是经办人或报告人」这个条件用括号包裹,确保它作为一个整体和状态条件关联,就能让两类工单都满足状态要求:
(assignee = currentUser() OR reporter = currentUser()) AND status not in (Closed, Resolved) ORDER BY updated DESC
额外提示
- 注意JQL里状态名称的大小写,通常Jira系统状态是首字母大写(比如
Closed、Resolved),要和系统内的状态名称完全匹配 - 如果想一次性排除所有已完成类状态,也可以用
statusCategory != Done替代status not in (Closed, Resolved),能覆盖所有归类为「已完成」的状态
内容的提问来源于stack exchange,提问作者Mithun Shreevatsa
相关产品推荐
相关产品推荐

