如何查询 Epics With All Closed Jira issue?
How To Query Epics With All Closed Jira issue?
使用 JQL 和 Adaptavist ScriptRunner,我如何编写一个查询 returns - 对于我的项目 "ABC" - epics 只关闭了 Jira 相关问题?
简介
让我们使用集合论构造此查询。第一部分将构建 return 包含我们不需要的所有内容的查询。第二部分将构建所有内容的查询。最后,我们将把两者结合起来 return 我们想要的。 进入第一部分!...
第 1 部分:项目 Epics 与开放相关的 Jira 问题
首先,让我们return 与 ABC 史诗相关的 Jira 问题:
issueFunction in issuesInEpics("project = ABC")
扩展该查询,我们在前面加上一个子句,该子句将 return epics。也就是说,与 ABC 史诗关联的 Jira 问题的 epics 个:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
到目前为止,我们还没有查询状态。但是请记住,我们只需要 epics 所有已关闭的 Jira 问题。下一个子句可能看起来违反直觉,因为在这里我们将添加一个 statusCategory
检查未完成的 Jira 问题:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")
所以,上面说的是 epics 与尚未完成的 Jira 相关的问题。这是针对关联了 ABC 项目史诗的 Jira 问题。
让我们暂时离开那个查询并开始一个新的查询。
第二部分:打开项目 Epics 以及相关的 Jira 问题
同上查询。所有与 ABC 史诗关联的 Jira 问题:
issueFunction in issuesInEpics("project = ABC")
再次,同上:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
现在,一些变化。我们不关心关闭 epics。此条款专门适用于 epics,不适用于相关的 Jira 问题...
statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
合并第一部分和第二部分
太棒了!我们现在有了与 Jira 问题相关的开放 ABC epics 列表。让我们结合两者来了解第一部分和第二部分之间的区别。也就是说,打开不在 ABC epics 集合中的 ABC epics 与打开的关联 Jira 问题:
statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")") AND NOT issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")
打开一些 epics returned,可以看到它们是打开的,但所有相关的 Jira 问题都已关闭。问题已解决!
请注意,这可以通过使用子过滤器变得更整洁。有关这方面的更多信息,请查看 ScriptRunner reference.
上的示例
使用 JQL 和 Adaptavist ScriptRunner,我如何编写一个查询 returns - 对于我的项目 "ABC" - epics 只关闭了 Jira 相关问题?
简介
让我们使用集合论构造此查询。第一部分将构建 return 包含我们不需要的所有内容的查询。第二部分将构建所有内容的查询。最后,我们将把两者结合起来 return 我们想要的。 进入第一部分!...
第 1 部分:项目 Epics 与开放相关的 Jira 问题
首先,让我们return 与 ABC 史诗相关的 Jira 问题:
issueFunction in issuesInEpics("project = ABC")
扩展该查询,我们在前面加上一个子句,该子句将 return epics。也就是说,与 ABC 史诗关联的 Jira 问题的 epics 个:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
到目前为止,我们还没有查询状态。但是请记住,我们只需要 epics 所有已关闭的 Jira 问题。下一个子句可能看起来违反直觉,因为在这里我们将添加一个 statusCategory
检查未完成的 Jira 问题:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")
所以,上面说的是 epics 与尚未完成的 Jira 相关的问题。这是针对关联了 ABC 项目史诗的 Jira 问题。
让我们暂时离开那个查询并开始一个新的查询。
第二部分:打开项目 Epics 以及相关的 Jira 问题
同上查询。所有与 ABC 史诗关联的 Jira 问题:
issueFunction in issuesInEpics("project = ABC")
再次,同上:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
现在,一些变化。我们不关心关闭 epics。此条款专门适用于 epics,不适用于相关的 Jira 问题...
statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
合并第一部分和第二部分
太棒了!我们现在有了与 Jira 问题相关的开放 ABC epics 列表。让我们结合两者来了解第一部分和第二部分之间的区别。也就是说,打开不在 ABC epics 集合中的 ABC epics 与打开的关联 Jira 问题:
statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")") AND NOT issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")
打开一些 epics returned,可以看到它们是打开的,但所有相关的 Jira 问题都已关闭。问题已解决!
请注意,这可以通过使用子过滤器变得更整洁。有关这方面的更多信息,请查看 ScriptRunner reference.
上的示例