0

こんにちは、次のコードを使用して、特定の反復の現在のユーザーストーリーを取得しています

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 は子プロジェクトのユーザー ストーリーであるため、それらは含まれません。選択したプロジェクトとその子プロジェクトのすべてのユーザー ストーリーも取得したい (スコープ ダウン)。

4

1 に答える 1

1

これに関する良い情報、特に _ProjectHierarchy と _ItemHierarchy/_TypeHierarchy の違いについては、 LBAPI ドキュメントを確認してください。

あなたの状況では、おそらく _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 またはその子プロジェクトにある複数の作業項目を取得するには、クエリに次の句を含めるだけです。

_ProjectHierarchy: 7890
于 2013-03-21T20:38:06.580 に答える