在 Rally 中查询用户故事修订

2023-12-31

我想使用与用户故事关联的 URL 检索修订日志的 JSON 对象。我使用以下代码通过 jQuery 完成了此操作,但我更愿意使用 Rally SDK 中的内置工具来完成此操作。我对 Ext.Ajax 或 Ext.data.JsonP 请求没有任何运气,尽管我认为这是正确的方法。任何帮助,将不胜感激。

$.ajax({
    url: URL,
    dataType: 'jsonp',
    jsonp: 'jsonp',
    success: function(response) {
        $.each(response.RevisionHistory.Revisions, function(key, rev) {
            //Parse Revision Log
        });
    }
});

对于 App SDK 2.0,这相对简单。文档中的以下示例应该对您有所帮助:

http://developer.rallydev.com/apps/2.0p4/doc/#!/guide/appsdk_20_data_models http://developer.rallydev.com/apps/2.0p4/doc/#!/guide/appsdk_20_data_models

http://developer.rallydev.com/apps/2.0p4/doc/#!/guide/appsdk_20_data_stores http://developer.rallydev.com/apps/2.0p4/doc/#!/guide/appsdk_20_data_stores

这是一个快速的小代码片段,用于获取特定故事的修订历史记录:

Rally.data.ModelFactory.getModel({
    type: 'UserStory',
    success: function(storyModel) {
        var storyRef = 'https://rally1.rallydev.com/slm/webservice/1.37/hierarchicalrequirement/12345.js';
        var storyID = Rally.util.Ref.getOidFromRef(storyRef);
        storyModel.load(storyID, {
            fetch: ['Name', 'FormattedID', 'Description', 'RevisionHistory', 'Revisions'],
            callback: function(story, operation) {
                if(story && story.get('RevisionHistory') && story.get('RevisionHistory').Revisions) {
                    Ext.Array.each(story.get('RevisionHistory').Revisions, function(revision) {
                        //Parse revision log
                    });
                }
            }
        });
    }
});

使用 SDK 的好处是,它会根据您运行应用程序的方式自动执行 ajax 与 jsonp 请求。上面的例子非常适合单个故事。如果您想解析多个故事,您需要使用 store 而不是 model.load:

Ext.create('Rally.data.WsapiDataStore', {
    model: 'UserStory',
    autoLoad: true,
    fetch: ['Name', 'FormattedID', 'Description', 'RevisionHistory', 'Revisions'],    
    listeners: {
        load: function(store, stories) {
            Ext.Array.each(stories, function(story) { 
                if(story && story.get('RevisionHistory') && story.get('RevisionHistory').Revisions) {
                    Ext.Array.each(story.get('RevisionHistory').Revisions, function(revision) {
                        //Parse revision log
                    });
                }
            });
        }
    } 
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rally 中查询用户故事修订 的相关文章

随机推荐