2013-03-21 35 views
0

嗨,我用下面的代碼回望API _ProjectHierarchy不是縮小範圍

獲取特定迭代當前userstories

Ext.define('CustomApp', { 
    extend: 'Rally.app.App', 
    componentCls: 'app', 

    launch:function(){ 
     me = this; 
     combo = window.parent.Ext4.ComponentQuery.query('rallyiterationcombobox')[0]; 
     var iterationObjectID = combo.getRecord().data.ObjectID; 
     var query1= { _ProjectHierarchy: me.getContext().getProject().ObjectID, Iteration : iterationObjectID , _TypeHierarchy:"HierarchicalRequirement"}; 
     var fields = ["ObjectID","FormattedID","Name","Parent","Release","Tags","PlanEstimate","ScheduleState","_ValidFrom","_ValidTo"]; 
     var hydrate = ["Tags","ScheduleState"]; 
     var post = { find :query1, fields : fields, hydrate : hydrate, pagesize : 10000 }; 
     var wsid = this.context.getWorkspace().ObjectID; 
     var url = "https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/"+ wsid +"/artifact/snapshot/query.js"; 
     console.log("snapshot url:",url); 


      Ext.Ajax.request({ 
       method: 'POST', 
       url: url, 
       jsonData : post, 
       success: function(res) { 
        res = JSON.parse(res.responseText); 
        console.log("The final results are",res); 


       }, 

       failure: function(failure) { 
        console.log("snapshot query failed!",failure); 
       } 
      }); 

的問題是,我不能讓孩子項目的用戶故事時,我在查詢中指定父項目。例如,如果我有這樣的

Project 7890 
    User Story 55 
    User Story 56 
     Project 6543 
     User Story 57 
      Project 3456 
       User Story 777 

理想的情況下如果我查詢_ProjectHierarchy層次:7890我應該得到用戶故事55,用戶故事56,用戶故事57,用戶故事777,因爲查詢檢索多個工作項目本身和它的子項目,但在這裏我只能獲得用戶故事55,用戶故事66(它們是項目7890的用戶組),但不能用戶故事57,用戶故事777,因爲這些是子項目的用戶故事。我想要檢索所選項目及其子項目的所有用戶故事(即範圍縮小)。

回答

1

查看LBAPI Docs瞭解關於此的一些更好的信息,特別是_ProjectHierarchy和_ItemHierarchy/_TypeHierarchy之間的區別。

在你的情況,你可能應該使用_ItemHierarchy/_TypeHierarchy:

工作項目層次

工作項目層次遍歷使用_ItemHierarchy領域的父/子關係。所以,如果你有這樣的層次:

Story 333 
    Story 444 
     Story 555 
      Story 666 
       Defect 777 
       Task 12 
       Task 13 
     Story 888 
     Story 999 

的故事666的文件應該是這樣的:

{ 
    ObjectID: 666, 
    Parent: 555, 
    _ItemHierarchy: [333, 444, 555, 666], 
    ... 
    } 

要檢索從故事333下降全都故事(包括333,444,555,666, 888和999,但不是缺陷777),您將包括在本節中查詢:

{ 
    _ItemHierarchy: 333, 
    _TypeHierarchy: 「HierarchicalRequirement」 
    } 

項目層次

項目層次結構也表示爲從此項目的根項目開始的數組。所以,如果工作項目777在這個項目層次結構的底部:

Project 7890 
    Project 6543 
     Project 3456 
      Work item 777 

工作項777的文件應該是這樣的:

{ 
    ObjectID: 777, 
    Project: 3456, 
    _ProjectHierarchy: [7890, 6543, 3456], 
    ... 
} 

要檢索屬於項目7890或多個工作項目它的任何子項目,你會簡單地在您的查詢中包含此子句:

+0

問題是,我無法獲得子項目的用戶故事,當我在查詢中指定父項目示例 – user2012542 2013-03-22 13:37:32

+1

您是否在尋找兒童項目中的用戶故事?你的問題說「我應該得到所有的孩子用戶故事」,這意味着你正在尋找一個ItemHierarchy中的父/子關係。如果您可以發佈您看到的結果與您期望看到的結果,這將有所幫助。 – 2013-03-22 13:38:40

+0

請再次查看問題。我已編輯它,以便您可以更清楚地瞭解 – user2012542 2013-03-29 14:13:01