gpt4 book ai didi

node.js - 如何使用 Rally 的 Web 服务 API 跟踪迭代进度

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:10 24 4
gpt4 key购买 nike

我正在编写一个自定义应用程序来跟踪每天的迭代进度。 Rally 中是否有内置方法来获取特定日期处于“已接受”状态的用户故事数量以及点数(或者我是否必须获取所有用户故事并解析其修订历史记录)?

最佳答案

WS API 中有 IterationCumulativeFlowData 对象,当数据收集在工作区设置屏幕中指定的工作日运行时,该对象会在工作区时区的午夜填充。

存储迭代的每一天的数据和相应的状态。对于处于已定义状态的所有内容,有迭代第 1 天的 CumulativeFlowData 对象;对于处于进行中状态的所有内容,有发布第 1 天的 CumulativeFlowData 对象,等等
CumulativeFlowData 对象还存储 CardEstimateTotal,它是每个状态下卡片估计值的总和。

以下是使用 rally-node 编写的应用程序示例返回截至迭代最后一天的特定状态(已接受)的迭代数据。

在本示例中,最后结果的 CreationDate 为 '2013-08-27T06:00:00.000Z,而相关迭代的 EndDate 为 2013-08-27 11:59:59 PM America/Denver(即 2013-08-28T05:59:59.000Z),因此我必须操纵一个日期才能使该查询条件返回迭代最后一天的数据:

query = query.and('CreationDate', '>', endDateMinusOneDay);

这是示例的完整 js 文件:

var rally = require('rally'),
queryUtils = rally.util.query,
restApi = rally({
user: 'user@co.com',
pass: 'secret',
apiVersion: 'v2.0',
server: 'https://rally1.rallydev.com',
requestOptions: {
headers: {
'X-RallyIntegrationName': 'My cool node.js program',
'X-RallyIntegrationVendor': 'My company',
'X-RallyIntegrationVersion': '1.0'
},
}
});

function findIteration() {
return restApi.query({
type: 'Iteration',
start: 1,
pageSize: 2,
limit: 10,
fetch: ['ObjectID', 'EndDate'],
scope: {
project: '/project/12352608219',
up: false,
down: false
},
query: queryUtils.where('Name', '=', 'i777')
});
}


function queryIterationData(result) {
var endDate = result.Results[0].EndDate,
oid = result.Results[0].ObjectID;

console.log('endDate',endDate);

var date1 = new Date(endDate);
var ms = date1.getTime() - 86400000; //86400000 is the number of milliseconds in a day
var date2 = new Date(ms);
var endDateMinusOneDay = date2.toISOString();
console.log('date2 ISO', date2.toISOString());

var query = queryUtils.where('IterationObjectID', '=',oid );
query = query.and('CardState', '=', 'Accepted');
query = query.and('CreationDate', '>', endDateMinusOneDay);


return restApi.query({
type: 'IterationCumulativeFlowData',
fetch: ['CardCount', 'CardEstimateTotal', 'CardState', 'CardState', 'CreationDate'],
query: query,
});
}

function onSuccess(result) {
console.log('Success!', result);
}

function onError(errors) {
console.log('Failure!', errors);
}

findIteration()
.then(queryIterationData)
.then(onSuccess)
.fail(onError);

它返回:

enter image description here

关于node.js - 如何使用 Rally 的 Web 服务 API 跟踪迭代进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20914782/

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