質問
ユーザストーリーに関連付けられているURLを使用して、Revision LogのJSONオブジェクトを取得したいと思います。私は次のコードを使用してjQueryでこれを達成しましたが、ラリー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 /#!/ガイド/ APPSDK_20_DATA_MODELS
> http://developer.rallydev.com/apps/2.0P4 / DOC /#!/ガイド/ 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を使用して素敵なことは、アプリの実行方法に応じて自動的にjsonp要求を要求することです。上記の例は単一のストーリーに最適です。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
});
}
});
}
}
});
. 所属していません StackOverflow