Запрос для реализации пользовательских историй в митинге

StackOverflow https://stackoverflow.com//questions/12694644

  •  12-12-2019
  •  | 
  •  

Вопрос

Я хотел бы получить объект JSON для журнала ревизии, используя URL, связанный с пользовательской историей.Я достиг этого с 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
        });
    }
});
.

Это было полезно?

Решение

Это относительно просто с приложением 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 в зависимости от того, как вы используете приложение.Пример выше работает отлично для одной истории.Если вы хотите проанализировать несколько историй, вы хотите использовать магазин вместо модели. Нажмите:

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