如何使用Jira JQL查询问题中的关联问题?
Got it!我平时处理Bug跟踪的时候经常需要查关联问题,下面给你整理几种实用的JQL写法,覆盖不同的关联场景:
1. 直接关联问题查询(Linked Issues)
如果要精准定位某个特定Bug(比如BUG-123)的所有直接关联问题,用linkedIssues()函数就可以:
issue in linkedIssues(BUG-123)
如果想在结果里同时包含这个Bug本身,只要加个OR条件:
key = BUG-123 OR issue in linkedIssues(BUG-123)
要是你只想筛选特定类型的关联(比如只找“导致”这个Bug的问题),可以指定关联类型(注意要和你Jira里配置的关联名称完全一致,比如"relates to"、"blocks"、"is blocked by"):
issue in linkedIssues(BUG-123, "causes")
2. 子任务与父任务关联查询
如果你的Bug带有子任务,或者它本身是某个父任务的子任务,用这些写法:
- 查该Bug的所有子任务:
parent = BUG-123
- 同时查询Bug本身和它的父任务:
key = BUG-123 OR parent = BUG-123
如果要找这个Bug所在Epic下的所有关联问题(适用于Jira Software):
"Epic Link" = (key = BUG-123).EpicLink OR key = BUG-123
或者更简洁的epic()函数写法:
issue in epic(BUG-123) OR key = BUG-123
3. 进阶:多层级间接关联查询
要是你需要找间接关联的问题(比如Bug关联的问题又关联了其他问题),可以用linkedIssuesOf()函数支持层级查询:
- 查Bug关联问题的关联问题(2层关联):
issue in linkedIssuesOf(linkedIssues(BUG-123))
- 也可以直接指定深度,比如查询最多3层内的所有关联问题:
issue in linkedIssuesOf("key = BUG-123", 3)
小提示
- 如果你的Jira有自定义的关联字段,记得替换成对应的字段名称;
- 这些查询可以直接在Jira搜索框执行,也可以保存为过滤器,方便后续重复使用。
内容的提问来源于stack exchange,提问作者A. Hamoto




