Ceci est un peu compliqué. Les histoires ont une collection de Changesets, et chaque entrée de Changeet contient une collection Builds.
Ainsi, pseudocode:
1) histoires de charge, en vous assurant de chercher Révisions
2) Pour chaque histoire chargée à l'étape 1, chargez la collection d'historiques, en prenant soin de chercher Établit
3) chaque changeset chargé à l'étape 2, charger les builds collection
Il y a un bon guide dans la documentation sur la façon de travailler avec des collections: https://help.rallydev.com/apps/2.1/doc/#!/guide/collections_in_v2-section-collection-fetching
Notez que ce sera probablement très lent en raison du volume de loa imbriqué ds se produisant dans les boucles. Est-il possible de filtrer vos données pour éviter de tout charger? Quelle est la question à laquelle vous essayez de répondre avec toutes ces données?
Exemple de code:
Ext.create('Rally.data.wsapi.Store', {
model: 'UserStory',
fetch: ['Changesets'],
autoLoad: true,
listeners: {
load: function(store, records) {
records.each(function(story) {
story.changeSets = story.getCollection('Changesets');
story.changeSets.load({
fetch: ['Builds'],
callback: function(changesets) {
changesets.each(function(changeset) {
changeset.builds = changeset.getCollection('Builds');
changeset.builds.load({
fetch: ['Number', 'Duration', 'Status', 'Uri'],
callback: function(builds) {
builds.each(function(build) {
console.log(build);
});
}
});
});
}
});
});
}
}
});
Comme mentionné ci-dessus, je ne recommanderais pas d'exécuter ce code dans la production. Ce sera très lent. Si vous pouvez limiter le niveau supérieur à une histoire spécifique, ce ne sera probablement pas trop mal.
Vous devrez peut-être poster un peu plus d'informations et il semble être un peu plus orienté vers l'implémentation de RallyAPI de votre serveur (sauf si vous frappez l'API directement du client, ce que vous ne devriez pas). il serait également logique de supposer que votre modèle UserStory n'aurait pas d'espace. En plus de cela, vous devriez vérifier les relations associées entre les modèles si vous souhaitez inclure les deux dans un seul magasin .... Un peu plus d'informations sur la façon dont vous essayez de construire votre magasin de données serait utile. :) – djmm187