如何使用Node.js脚本从Rally获取用户的修订历史
How to get the revision history of user from Rally using Node js scripting
我的要求是获得用户被禁用的确切日期/时间。为了实现这一点,我需要在修订历史记录中查询"用户设置为无效"一行,以查找用户从启用切换到禁用的日期。如何使用node js获取修订历史记录?我尝试了下面的代码,但它不起作用,因为Rally支持团队提到它的旧代码,我必须尝试v2.0。有人能帮我达到要求吗?
var revisions = story.RevisionHistory.Revisions;
revisions.sort(byRevisionNumber);
var story_was_blocked = false;
// it doesn't matter how many revs have been in BLOCKED state, presence of one is sufficient
for (var rix = 0; rix < revisions.length && story_was_blocked === false; rix++) {
var rev = revisions[rix];
if (rev.Description.indexOf("BLOCKED changed from ") >= 0) {
story_was_blocked = true;
}
}
下面是一个如何实现这一目标的简单示例。请注意,这只是显示了如何在User上获取集合中的所有修订,您需要对它们进行迭代,并匹配"Disabled"上的Description字段:
var rally = require('rally'),
queryUtils = rally.util.query,
rallyApi = rally({
// Example key, not valid
apiKey: '_UkMasZfjPZfquDIMExfEKnAboQUlyT2SP4UppMHir',
server: 'https://rally1.rallydev.com',
requestOptions: {
headers: {
'X-RallyIntegrationName': 'Query User Revisions',
'X-RallyIntegrationVendor': 'Stackoverflow user4211235',
'X-RallyIntegrationVersion': '1.0'
}
}
});
function onError(error) {
console.log('Failure!', error);
}
function queryUserRevisions(result) {
var revisions = result.Revisions;
rallyApi.query({
ref: revisions,
start: 1,
limit: Infinity,
order: 'RevisionNumber',
fetch: ['RevisionNumber','Description','CreationDate']
}, function(error, result) {
if(error) {
onError(error);
} else {
console.log('Success querying User Revisions...');
console.log('Summary of revisions on User:')
console.log(result);
}
});
}
function queryUserRevisionHistory(result) {
rallyApi.query({
ref: result.Results[0].RevisionHistory,
start: 1,
limit: Infinity,
fetch: ['Revisions','RevisionNumber','Description','CreationDate']
}, function(error, result) {
if(error) {
onError(error);
} else {
console.log('Success querying User Revision History. Querying Revisions...');
queryUserRevisions(result);
}
});
}
function queryUser(callback) {
rallyApi.query({
type: 'user',
start: 1,
pageSize: 2,
limit: 10,
order: 'CreationDate',
fetch: ['UserName', 'EmailAddress', 'RevisionHistory'],
query: queryUtils.where('UserName', '=', "user@company.com")
}, function(error, result) {
if(error) {
onError(error);
} else {
console.log('Success querying User. Querying Revision History...');
callback(result);
}
});
}
queryUser(queryUserRevisionHistory);
相关文章:
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 同步调用,直到用户通过angular验证为访问者
- 如何使用Node.js脚本从Rally获取用户的修订历史
- 如何在不重定向用户的情况下更改地址栏URL(不使用历史API?)
- 使用 html5 历史记录代替哈希 URL 来恢复用户的历史记录
- 获取按月排序的Spotify用户收听历史记录
- 将用户的历史记录保存在一个网站上
- 如何使用本地存储存储用户的页面历史记录
- 如何改变URL(哈希),当用户滚动或点击链接与jquery历史插件
- 用户操作的Javascript历史记录
- 当用户单击'back'时,访问上一页的历史状态
- 如何运行窗口.历史记录(javascript),如果用户点击后退按钮
- 非用户发起的操作触发的导航没有记录历史
- Chrome扩展是否有可能获得用户的完整浏览历史记录?
- 如何使用javascript获取用户的浏览器历史记录?
- 您将如何使用其他网站上的javascript访问用户历史记录
- 如何使我的用户脚本在使用历史记录 API 的网站的特定页面上工作
- 如何使用Youtube Api获取用户的喜欢、评论和观看历史