我正在尝试创建一个 Rally Javascript API 应用程序,以将发布周期内报告的缺陷分解为“当前”和“先前”。当前 = 针对所选版本中的故事的缺陷。先前 = 针对先前版本中的故事或没有相关故事的缺陷。在这两种情况下,缺陷创建日期都必须在发布日期范围内。
这是我想要的基本流程:
- 选择一个版本
- 查询 CreationDate 在所选发布日期范围内的所有缺陷
- 如果缺陷有需求并且需求在选定的版本中,则计为“当前”,否则计为“先前”
这看起来很简单,但我在确定是否针对所选版本中的故事报告了缺陷时遇到了障碍。缺陷具有 Requirement 属性,该属性表示缺陷所针对的故事,但 Requirement 对象没有 Release 属性。只有 HierarchicalRequirement 具有 Release 属性。
关于如何确定发布缺陷需求的任何想法?或者也许可以用不同的方法来完成同样的事情?
根据对代码段的请求:
我从目录中的Defects by Closer应用程序开始,因为它具有我想要的基本布局,并且只是修改了查询和表填充逻辑。
这是查询:
var relDateBeg = rally.sdk.util.DateTime.toIsoString(new Date(releaseDropdown.getSelectedStart()));
var relDateEnd = rally.sdk.util.DateTime.toIsoString(new Date(releaseDropdown.getSelectedEnd()));
var queryCriteria = '((CreationDate >= ' + relDateBeg + ') AND (CreationDate <= ' + relDateEnd + '))';
var queryConfig =
{
key : "defects",
type : "Defect",
fetch : "ObjectID,FormattedID,Name,ClosedDate,Requirement,CreationDate",
order : "FormattedID",
query : queryCriteria
};
然后在showResults()
处理查询结果的方法中,我遍历所有缺陷并填充表。在这段代码中,我检查缺陷是否有需求,如果是,我想检查需求属于哪个版本,以便我可以将缺陷分类为“当前”或“之前”,但需求对象没有释放财产。