如何实现将查询结果作为另一查询的数据表,并创建排除与指定筛选器结果关联的Jira故事筛选器?
解决JQL筛选无关联故事的问题
嘿,我来帮你搞定这个JQL筛选的难题!你的思路方向是对的,但可能漏了几种关键关联场景,导致筛选结果不准确。咱们一步步调整:
原语句的问题
你当前的查询只排除了筛选器17138内问题的子问题和直接链接的问题,但还有两种核心关联没覆盖:
- 筛选器17138内的问题本身(你肯定不想把这些目标问题也算进“无关联”结果里)
- 以筛选器17138内问题为父问题的故事(比如筛选器里的问题是某个故事的子任务,这种情况两者也是强关联的)
改进后的原生JQL语句
如果不用任何插件,试试这个更全面的查询:
issuetype = Story AND issue not in filter(17138) AND issue not in childIssuesOf(filter(17138)) AND parentIssue not in filter(17138) AND issue not in linkedIssues(filter(17138))
各部分作用解释
issuetype = Story:先限定只查找故事类型(如果你的项目里故事的类型名不是这个,替换成对应名称即可)issue not in filter(17138):排除筛选器17138里的所有问题本身issue not in childIssuesOf(filter(17138)):排除是筛选器内问题子任务的故事parentIssue not in filter(17138):排除父问题在筛选器内的故事(比如筛选器里的问题是这个故事的子任务)issue not in linkedIssues(filter(17138)):排除和筛选器内问题有直接链接的故事
进阶:覆盖所有层级关联(需ScriptRunner插件)
如果你的Jira安装了ScriptRunner插件,还可以用递归关联函数,覆盖间接链接的情况(比如A链接B,B在筛选器里,那A也会被排除):
issuetype = Story AND issue not in filter(17138) AND issueFunction not in linkedIssuesOfRecursive(filter(17138))
这个语句会排除所有和筛选器17138内问题有任何层级关联的故事,包括直接、间接的链接,父子关系等,覆盖范围更彻底。
注意事项
- 确保你有访问筛选器17138的权限,否则JQL会返回权限错误
- 如果你的项目里有自定义关联类型,原生JQL的
linkedIssues会覆盖系统默认的所有链接类型,无需额外调整
内容的提问来源于stack exchange,提问作者Victor Lepers
相关产品推荐
相关产品推荐

