我正试图找出一种方法来查找在一段时间内添加到projectversion(也就是sprint)的所有问题。我想要的是显示已添加的所有问题,即使它们后来已从项目版本中删除。
要查找添加到projectversion的所有“旧”问题,我使用:
select ji.pkey, cg.AUTHOR, cg.CREATED, ci.OLDVALUE as old, ci.NEWVALUE as ny
from changegroup cg, changeitem ci, jiraissue ji where
ci.FIELD = 'Fix Version'
and cg.id = ci.groupid
and ji.PROJECT = 10012
and cg.issueid = ji.id
and DATE(cg.CREATED) >= '2011-12-06'
and DATE(cg.CREATED) <= '2011-12-14'
and ci.NEWVALUE = 10099
and ci.OLDVALUE is null
然后我们需要找到创建并添加到projectversion中的问题:
SELECT ji.pkey
FROM jiraissue ji, nodeassociation na, projectversion pv
WHERE na.SINK_NODE_ID = pv.id
AND DATE(ji.created) >= '2011-12-06'
AND DATE(ji.created) <= '2011-12-14'
and ji.id = na.SOURCE_NODE_ID
and pv.id = 10099
好的,所以这或多或少都有效。创建新问题并将其添加到projectversion以便以后删除时会出现问题。由于删除了nodeassosiation,因此没有任何痕迹可能成为projectversion的一部分。
任何人都有办法弄明白吗?
答案 0 :(得分:0)
只是一个想法,也许有帮助。 如果删除了跟踪,则必须以某种方式保留以进行搜索。实现这一目标的一个好方法是使用CustomFields。您可以为每个问题添加自定义字段,其中将跟踪项目版本。您可以添加一个事件侦听器,该侦听器使用指定的项目版本自动填充自定义字段(当触发某些jira事件时)。
如果一个问题只有一个项目版本,您可以轻松搜索它。 否则,customfield必须记住所有版本ID(可能格式为:“id1,id2,..”),您可以在自定义字段中搜索id。 这不是一个简单的解决方案,但应该有效。
请参阅:https://confluence.atlassian.com/display/JIRA/Adding+a+Custom+Field
如果您正在编写JIRA插件,请考虑使用JQL进行查询。事件监听器: https://developer.atlassian.com/display/JIRADEV/Plugin+Tutorial+-+Writing+JIRA+event+listeners+with+the+atlassian-event+library