Interrogation pour les révisions de l'histoire de l'utilisateur dans le rassemblement

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

  •  12-12-2019
  •  | 
  •  

Question

Je voudrais récupérer l'objet JSON pour le journal de révision à l'aide de l'URL associée à l'article utilisateur.Je l'ai accompli avec JQuery en utilisant le code suivant, bien que je préfère le faire avec des outils intégrés dans le Rally SDK.Je n'ai eu aucune chance avec les demandes ext.ajax ou ext.data.jsonp, bien que je pense que c'est la bonne approche.Toute aide serait appréciée.

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

Était-ce utile?

La solution

Ceci est relativement simple avec l'application SDK 2.0.Les exemples suivants de la documentation devraient vous être utiles:

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

Voici un petit coup de code rapide pour obtenir l'historique de révision d'une histoire spécifique:

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
                    });
                }
            }
        });
    }
});

La bonne chose avec l'utilisation du SDK est qu'il effectuera automatiquement les demandes Ajax contre JSONP en fonction de la manière dont vous exécutez l'application.L'exemple ci-dessus fonctionne bien pour une seule histoire.Si vous souhaitez analyser plusieurs histoires, vous voudriez utiliser un magasin au lieu de modèle.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
                    });
                }
            });
        }
    } 
});

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top