如何通过API查询自定义计划状态

时间:2013-10-09 00:08:29

标签: rally

在作为工作区管理员的Rally中,您可以在“用户素材”(或“缺陷”)上的“计划状态”字段的下拉列表中添加值。

是否有办法通过API查询用户故事中的“计划状态”的下拉列表值?

我想解决的问题是,我们在各种工作空间中使用自定义报告,但是现在需要其中一个工作空间具有“已定义”之前和“已接受”之后的状态。我不是为每个工作空间构建每个自定义报告的新版本来处理自定义状态,而是更愿意在该工作空间中查询用户故事的有效计划状态,然后执行在自定义报告中显示状态所需的任何操作。

对于它的价值,这是在v1.43中,因为这些自定义报告使用LoginKey在Rally之外运行。

2 个答案:

答案 0 :(得分:3)

此代码将为您提供用户故事的所有可用计划状态的数组。指定工作区OID以获取不同工作区的不同值。

Rally.data.ModelFactory.getModel({
    type: 'HierarchicalRequirement',
    context: {
        workspace: '/workspace/12345'
    },
    success: function(model) {
        var stateNames = Ext.Array.pluck(model.getField('ScheduleState').allowedValues, 'StringValue');
    }
});

答案 1 :(得分:1)

以下是AppSDK 1.33示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
  <meta name="Name" content="App Example: Attribute Values" />
   <title>Attribute Values Example</title>
   <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.33/sdk.js?apiVersion=1.43"></script>
   <script type="text/javascript">

  function attributeQueryExample() {

     var showAttributeValues = function(results) {
      var aDiv = document.getElementById("aDiv");
      aDiv.innerHTML = '<b>attributeQueryExample</b><br>';
      for (var property in results) {
        aDiv.innerHTML += "&nbsp;<b>" + property + "</b><br>";
        for (var i=0 ; i < results[property].length ; i++) {
          aDiv.innerHTML += "&nbsp;&nbsp;" + results[property][i] + "<br>";
        }
      }
     }; 

    var queryConfig = [];
    queryConfig[0] = {type: 'Hierarchical Requirement', 
            key : 'storyStates', 
            attribute: 'Schedule State'
            };
        queryConfig[1] = {type: 'Defect', 
            key : 'defectStates', 
            attribute: 'Schedule State'
            };

    var rallyDataSource = new rally.sdk.data.RallyDataSource('1111', '2222','false', 'false'); 
    rallyDataSource.findAll(queryConfig, showAttributeValues);
   }

   rally.addOnLoad(attributeQueryExample);

   </script>
</head>

<body>
   <div id="aDiv"></div>
</body>
</html>

截图:

enter image description here