1

我尝试使用 1.3n 版的 SDK 执行此操作,但无法获取 BlockedReason。有一个 StackOverflow 将我指向 SDK 的 2.0rc1 版本,但我无法弄清楚如何检索多个数据类型并将它们全部放入网格中。

4

1 回答 1

1

BlockedReason 是在 WS API 的 1.38 版本中引入的,它超越了最新版本的 AppSDK 1.33。有一种方法可以指定超出该点的 WS API 版本,方法是使用

rallyDataSource.setApiVersion("1.43");

而 javascript src 指向 1.33:

<script type="text/javascript" src="https://rally1.rallydev.com/apps/1.33/sdk.js"></script>

这是一个完整的例子:

function tableExample() {
   var rallyDataSource = new rally.sdk.data.RallyDataSource('1111','2222','false','false'); //use valid workspace project OIDs if running outside of Rally
   rallyDataSource.setApiVersion("1.43");
  function itemQuery() {
     var queryObject = {
       key: "t",
       type: "task",
       fetch: "FormattedID,Name,State,Blocked,BlockedReason",
   query: "(State = In-Progress)"
     };
     rallyDataSource.findAll(queryObject, populateTable);
  }

  function populateTable(results) {
     var rankIx = 1;
        for (var i=0; i < results.t.length; i++, rankIx++) {
            results.t[i].Ranking = rankIx;  
        }
     var tableDiv = document.getElementById('aDiv');
     var config = { columns:
         [{key: 'Ranking', header: '#', width: 20},
     {key: 'FormattedID', header: 'Formatted ID', width: 100},
     {key: 'Name'},
     {key: 'BlockedReason', header: 'Blocked Reason', width: 200},
         {key: 'State'}]};

    var table = new rally.sdk.ui.Table(config);
     table.addRows(results.t);
     table.display(tableDiv);

  };
  itemQuery();
 }

 rally.addOnLoad(tableExample);
于 2013-06-25T03:48:17.690 回答