سؤال

أحاول الحصول على جميع القصص الورقية من ضمن مشروعي الافتراضي في Rally ونسخ قيمة التكرار لكل قصة (إذا كانت موجودة) إلى حقل مخصص.هذا هو الكود الخاص بي.

_update_dIteration_for_all_leaves: function(){
    console.log("Working on dIteration for all leaves");

    var me = this;
    var query = Ext.create('Rally.data.lookback.QueryFilter',{property: '_TypeHierarchy', operator: '=', value: "HierarchicalRequirement"});
    query.and(Ext.create('Rally.data.lookback.QueryFilter',{property: 'Children', operator: '=', value: null}));
    query.and(Ext.create('Rally.data.lookback.QueryFilter',{property: '__At', operator: '=', value: 'current'}));
    Ext.create('Rally.data.lookback.SnapshotStore',{
        autoLoad: true,
        context: this.getContext(), 

       // tried context:{workspace: this.getContext().getWorkspace(), project: this.getContext().getProject()} but doesn't work.

        fetch:['Name','FormattedID','Iteration','ObjectID'],
        filters: query,
        listeners: {
            load: function(store,data,success){
                console.log("How many leaf stories? ",data.length);
                var configs = [];
                for(var i=0;i<data.length;i++){
                    if(data[i].data.Iteration!=null && data[i].data.Iteration!=""){
                        console.log('data iteration ', data[i].data.Iteration);
                        configs.push({
                            model: "Iteration",
                            fetch: ['Name','ObjectID'],
                            filters: [{property: 'ObjectID', operator: '=', value: data[i].data.Iteration}],
                            storyid: data[i].data.ObjectID
                        });
                    }
                }
                console.log('configs length ',configs);
                    async.map(configs, me.wsapiQuery, function(err,results){
                //      console.log('len ',results);
                        for(var i=0;i<results.length;i++){
                            //var ObjectID = results[i].get('ObjectID');
                            var name = results[i].get('Name');
                            console.log("Name of iteration "+name+" ID of story "+configs[i].storyid);

                        }

                    });
            }
        },
        scope: this
    });
}

لا أستطيع إضافة سياق إلى هذا الاستعلام ولا أستطيع الحصول على قصص ورقية فقط من المشروع الحالي الذي أعمل فيه.حاولت أيضًا إضافة أداة الاستعلام على النحو التالي:

 {property: '_ProjectHierarchy',operator: 'in', value: this.getContext().getProject().ObjectID}

على الرغم من أنني لست متأكدًا مما إذا كانت _ProjectHierarchy هي الطريقة الصحيحة للقيام بذلك، إلا أنها لا تزال لا تعمل.

هل كانت مفيدة؟

المحلول

لن يؤدي استخدام _ProjectHierarchy إلى توسيع نطاق الاستعلام إلى مشروع واحد، ولكنه سيشمل المشروع ومشاريعه الفرعية.جرب استعلامات Lookback API مباشرة في المتصفح لترى الفرق.على سبيل المثال، في بيئتي، يستخدم الاستعلام الأول "_ProjectHierarchy":{"$in":[14020168984]} إرجاع TotalResultCount:229، ولكن الاستعلام الثاني الذي يستخدم "Project":14020168984 إرجاع TotalResultCount:128

https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/14020168894/artifact/snapshot/query.js?find={"_TypeHierarchy":"HierarchicalRequirement","_ProjectHierarchy":{"$in":[14020168984]}}

https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/14020168894/artifact/snapshot/query.js?find={"_TypeHierarchy":"HierarchicalRequirement","Project":14020168984}

يمكنك إلحاق &fetch=["Project"] إلى تلك الاستعلامات لمعرفة أن الاستعلام الثاني يُرجع قصصًا من مشروع واحد فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top