Jira JQL - 显示所有 child 任务
Jira JQL - Show all child tasks
我正在尝试在 Macro-Feature and/or 史诗 Link 的 3 个级别下显示我的所有任务,因为我的组织如下所示:
- 宏功能
- Epic Link(= 功能)=> Epic Link(= 子功能)=> Tasks
- 或直接史诗Link => 任务
我想看到两个级别,请问我该如何实现?
在纯 Jira Server 中,无法访问链接,您必须查询分配给史诗的问题,获取它们的问题键或 ID 并构建组合查询。假设您 top-level epics 调用了 TOP-1 和 TOP-2,您将不得不 运行 查询:
issue in linkedIssues("TOP-1", "is task of") and issuetype = Epic
拿回返回的问题密钥,重复TOP-2,这会给你第二个级别epics,比方说SUB-1和SUB-2,然后你需要运行一个查询如:
"Epic Link" in (TOP-1, TOP-2) or "Epic Link" in (SUB-1, SUB-2)
这将为您提供分配给那些 epics 的问题,没有子任务。相当麻烦,需要手动更新,绝对不值得做。
另一种方法是获取一个扩展 JQL 功能的插件,例如 JQL Search Extensions。然后你可以像这样嵌套 JQL 查询:
issue in allIssuesInEpic("TOP-1", "TOP2") or (issue in allIssuesInEpic(issue in linkedBy("TOP-1", "TOP-2", "is task of")))
其中查询的第一部分issue in allIssuesInEpic("TOP-1", "TOP2")
returns直接分配到TOP-1或TOP-2epics的问题,而第二部分issue in allIssuesInEpic(issue in linkedBy("TOP-1", "TOP-2", "is task of"))
查找epics 链接为 "is task of" 与 top-level epics,然后找到分配给第二级 epics 的子任务的所有问题。
您将需要使用您描述的结构为每个嵌套级别扩展查询,上面的查询将执行您需要的操作。但是,如果您要添加第三层嵌套,那么您将不得不像这样扩展查询:
issue in allIssuesInEpic("TOP-1", "TOP2") or (issue in allIssuesInEpic(issue in linkedBy("key in (TOP-1, TOP2) or issue in linkedBy("TOP-1", "TOP-2", "is task of")", "is task of")))
您可以通过为每个嵌套级别创建过滤器来使其更具可读性,例如,创建一个名为 Features 的过滤器:
key in (TOP-1, TOP-2)
然后创建一个名为 sub-features:
的过滤器
issue in linkedBy("filter = Features", "is task of")
然后创建一个最终查询,如:
issue in allIssuesInEpic("filter = \"Features\" or filter = \"sub-features\"")
我正在尝试在 Macro-Feature and/or 史诗 Link 的 3 个级别下显示我的所有任务,因为我的组织如下所示:
- 宏功能
- Epic Link(= 功能)=> Epic Link(= 子功能)=> Tasks
- 或直接史诗Link => 任务
我想看到两个级别,请问我该如何实现?
在纯 Jira Server 中,无法访问链接,您必须查询分配给史诗的问题,获取它们的问题键或 ID 并构建组合查询。假设您 top-level epics 调用了 TOP-1 和 TOP-2,您将不得不 运行 查询:
issue in linkedIssues("TOP-1", "is task of") and issuetype = Epic
拿回返回的问题密钥,重复TOP-2,这会给你第二个级别epics,比方说SUB-1和SUB-2,然后你需要运行一个查询如:
"Epic Link" in (TOP-1, TOP-2) or "Epic Link" in (SUB-1, SUB-2)
这将为您提供分配给那些 epics 的问题,没有子任务。相当麻烦,需要手动更新,绝对不值得做。
另一种方法是获取一个扩展 JQL 功能的插件,例如 JQL Search Extensions。然后你可以像这样嵌套 JQL 查询:
issue in allIssuesInEpic("TOP-1", "TOP2") or (issue in allIssuesInEpic(issue in linkedBy("TOP-1", "TOP-2", "is task of")))
其中查询的第一部分issue in allIssuesInEpic("TOP-1", "TOP2")
returns直接分配到TOP-1或TOP-2epics的问题,而第二部分issue in allIssuesInEpic(issue in linkedBy("TOP-1", "TOP-2", "is task of"))
查找epics 链接为 "is task of" 与 top-level epics,然后找到分配给第二级 epics 的子任务的所有问题。
您将需要使用您描述的结构为每个嵌套级别扩展查询,上面的查询将执行您需要的操作。但是,如果您要添加第三层嵌套,那么您将不得不像这样扩展查询:
issue in allIssuesInEpic("TOP-1", "TOP2") or (issue in allIssuesInEpic(issue in linkedBy("key in (TOP-1, TOP2) or issue in linkedBy("TOP-1", "TOP-2", "is task of")", "is task of")))
您可以通过为每个嵌套级别创建过滤器来使其更具可读性,例如,创建一个名为 Features 的过滤器:
key in (TOP-1, TOP-2)
然后创建一个名为 sub-features:
的过滤器issue in linkedBy("filter = Features", "is task of")
然后创建一个最终查询,如:
issue in allIssuesInEpic("filter = \"Features\" or filter = \"sub-features\"")