2

ルックバック API から取得したユーザー ストーリーの Feature オブジェクトを取得したいと考えています。しかし、機能をハイドレートしようとすると、フォーマットされていない機能 ID しか取得できません。

ルックバック結果セットからユーザー ストーリーの実際の機能オブジェクトを取得できますか?

データの取得に使用するコードの例の下に:

storeConfig: {
            find: {
                "_TypeHierarchy": { '$in' : [-51038] },
                "Children": null
            },
            fetch: ["ScheduleState", "PlanEstimate", "ObjectID", "_ValidFrom", "_ValidTo", "c_BaselineDeliveryConfidence", "Name", "Feature"],
            hydrate: ["ScheduleState", "c_BaselineDeliveryConfidence", "Name", "Feature"],
            sort: {
                "_ValidFrom": 1
            },
            compress: true,
            useHttpPost: true
4

2 に答える 2

2

オブジェクトを LBAPI から直接ハイドレートすることはできません。ただし、Nick が提案したのと同様の方法を使用して、まさにそれを行うためのヘルパー クラスに取り組んできました。

https://github.com/ConnerReeves/RallyHelpers/blob/master/RecordHydrator/RecordHydrator.js

これがどのように使用されるかの例です。すべてのリーフ ユーザー ストーリー (反復割り当てがある) を収集し、そのイニシアチブ フィールドをハイドレートします。

launch: function() {
    var self = this;
    Ext.create('Rally.data.lookback.SnapshotStore', {
        limit   : Infinity,
        fetch   : ['Name','Iteration'],
        filters : [{
            property : '__At',
            value    : 'current'
        },{
            property : '_TypeHierarchy',
            value    : 'HierarchicalRequirement'
        },{
            property : 'Iteration',
            operator : '!=',
            value    : null
        },{
            property : 'Children',
            value    : null
        }]
    }).load({
        params : {
            compress                    : true,
            removeUnauthorizedSnapshots : true
        },
        callback : function(records, operation, success) {
            self._hydrateRecords(records);
        }
    });
},

_hydrateRecords: function(records) {
    Ext.create('CustomApp.RecordHydrator', {
        fields: [{
            name    : 'Iteration',
            hydrate : ['Name','StartDate','EndDate']
        }]
    }).hydrate(records).then({
        success: function(hydratedRecords) {
            console.log(_.groupBy(hydratedRecords, function(record) {
                return record.get('Iteration') && record.get('Iteration').get('Name');
            }));
        }
    });
}
于 2014-02-26T18:23:28.687 に答える