使用JQL和Adaptavist ScriptRunner,我如何编写一个查询,该查询返回仅针对Jira关联的史诗?对于我的项目“ ABC”?
答案 0 :(得分:1)
让我们使用集合论来构造此查询。第一部分将构建查询,该查询返回我们不需要的所有内容。第二部分将构建所有内容的查询。最后,我们将两者结合起来,返回我们想要的东西。 进入第一部分!...
首先,让我们返回与ABC史诗相关联的Jira:
issueFunction in issuesInEpics("project = ABC")
扩展该查询,我们为子句添加前缀,该子句将返回史诗。也就是说,与ABC史诗相关的吉拉史诗:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
到目前为止,我们没有查询状态。但是请记住,我们只希望所有封闭Jira的史诗。下一个子句似乎违反直觉,因为在这里,我们将为未完成的Jira检查添加statusCategory
:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")
因此,以上所述请给我与Jira相关的史诗尚未完成。那是针对与ABC项目史诗相关联的Jira。
让我们暂时保留该查询,然后开始一个新查询。
与上述查询相同。所有与ABC史诗相关联的吉拉人:
issueFunction in issuesInEpics("project = ABC")
再次与上面相同:
issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
现在,有些变化。我们不在乎封闭的史诗。本条款专门适用于史诗,不适用于相关的吉拉的 ...
statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")
太好了!现在,我们有了与吉拉(Jira)相关的公开ABC史诗清单。让我们将两者结合起来,给我们第一部分和第二部分之间的区别。也就是说,不在ABC史诗集中的打开的ABC史诗与打开的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")
打开一些返回的史诗,人们可以看到它们是打开的,但所有相关的Jira都已关闭。问题解决了!
请注意,这可以通过使用子过滤器进行整理。有关更多信息,请查看ScriptRunner reference上的示例。