문제

사용자 이야기와 관련된 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 / #! / 가이드 / 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를 사용하는 좋은 것은 AJAX 대 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
                    });
                }
            });
        }
    } 
});
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top