gpt4 book ai didi

node.js - 使用 Rally API 通过迭代获取用户故事

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:13 25 4
gpt4 key购买 nike

我不知道如何在 Rally 中获取一个用户故事的所有字段。现在,我需要获取最后 5 次迭代,并计算每次迭代的完成点。

我设法通过指定type: iteration来获取迭代,但不知道如何获取这些迭代的用户故事,以及如何指定仅完成。我应该选择与用户故事相关的任务的 TaskStatus 吗?

我猜用户故事有关于迭代的引用,但我不确定它是什么样的。我没有找到这个manual非常简洁,还有我应该使用的其他文档吗?

编辑:

我看到在 HierarchicalRequirement 中,我有具有以下字段的 Iteration 对象:

_rallyAPIMajor: 2
_rallyAPIMinor: 0
_ref: https://rally1.rallydev.com/slm/webservice/v2.0/iteration/18831411089
_refObjectUUID: 8053fbd0-867c-4126-805c-18ccbc958a93
_refObjectName: Iteration 1
_type: Iteration

问题:我应该如何使用它?我正在考虑获取 5 次迭代(按 EndDate 排序),然后获取每次迭代的所有任务。但我不确定如何指定查询(该任务属于迭代)。这个问题可能听起来很愚蠢,但我仍然在黑暗中拍摄 Rally。关于“完成”要求,我是否应该只获取“TaskStatus”已完成的那些要求?

最佳答案

Rally 对象模型可在 Web Services API 中找到文档。

HierarchicalRequirement(用户故事)对象上有Iteration属性,它是Iteration对象的引用,因此可以通过迭代来查询故事。

您引用的手册特定于 LookbackAPI ,并且需要熟悉 WS API 文档中的对象模型。

下面是一个 LookbackAPI 端点,用于查询为三个迭代之一安排的用户故事,其中 222,333,444 是迭代的 ObjectID:

"Iteration" : {$in: [222,333,444]} 

并获取'FormattedID'、'ScheduleState'、'PlanEstimate'用户故事字段。

https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/111/artifact/snapshot/query.js?find={"Iteration" : {$in: [222,333,444]},"_TypeHierarchy":"HierarchicalRequirement","__At" : "current"}&fields=['FormattedID','ScheduleState','PlanEstimate'],hydrate=['ScheduleState']

这是一个类似的 WS API 端点:

https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement?workspace=https://rally1.rallydev.com/slm/webservice/v2.0/workspace/1119&query=(((Iteration.ObjectID = 222) OR (Iteration.ObjectID = 333)) OR (Iteration.ObjectID = 444))&fetch=FormattedID,ScheduleState,PlanEstimate&pagesize=200

两个查询返回相同的结果。

即使您想获取对象的当前状态,也可以使用 Lookback API 查询而不是 WS API 查询,如上面使用 "__At": "current" 的示例,但 Lookback API 是旨在提供历史数据。 WS API 仅返回对象的当前状态,而 Lookback API 可以及时返回这些对象的快照。

rally-node 有对 Lookback API 的内置支持。

这是一个集会 Node 示例,通过 3 次迭代查询故事:

var rally = require('rally'),
queryUtils = rally.util.query;
mySettings = {
apiKey: '_XYZ...',
server: 'https://rally1.rallydev.com', //this is the default
requestOptions: {
headers: {
'X-RallyIntegrationName': 'stories by iteration node.js program',
'X-RallyIntegrationVendor': 'My company'
'X-RallyIntegrationVersion': '1.0'
},
}
},
restApi = rally(mySettings);

var q = queryUtils.where('Iteration.ObjectID', '=', 222).or('Iteration.ObjectID', '=', 333).or('Iteration.ObjectID', '=', 444);

restApi.query({
type: 'hierarchicalrequirement'
fetch: ['FormattedID', 'Name', 'ScheduleState', 'PlanEstimate', 'Iteration'],
query: q,
scope: {
workspace: '/workspace/111',
},
}, function(error, result) {
if(error) {
console.log(error);
} else {
console.log(result.Results);
}
});

关于node.js - 使用 Rally API 通过迭代获取用户故事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23738819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com