2013-03-21 46 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