我正在使用Rally WSAPI 2.0p5和JSON返回
我希望在一个响应中从多个表中获取字段。这可能吗?例如,我试图获取用户故事,并在同一数据响应中获取Iteration.State。我知道可以做客户端,如果这是唯一的方法。有人可以提供和示例我如何处理构建表(数组)的异步响应。
答案 0 :(得分:1)
只需将状态添加到提取中包含的属性列表即可。即使被查询的主要类型没有该字段,Rally的WSAPI也会填充子对象的值。
launch: function() {
var userStories = Ext.create('Rally.data.WsapiDataStore', {
model: 'HierarchicalRequirement',
fetch: ['Iteration', 'State'],
autoLoad: true,
filters: [
{
property: 'Iteration.State',
value: 'Accepted'
}
],
limit: 10000,
listeners: { load: this._onDataLoaded, scope: this }
});
}
答案 1 :(得分:0)
作为我原始问题的后续跟进。我最近在Rally的WSAPI文档中遇到了Batch Query WSAPI的alpha版本。我建议使用批处理查询在单个响应中检索多个对象模型。
作为获取用户故事并在单个查询中获取迭代状态的示例。
{
"stories" : "/HierarchicalRequirement?fetch=Name,Iteration,State&query=(Iteration.State = Accepted)"
}
结果是更有用的,不需要对服务器进行多次查询。即。
"Results": [{
"_rallyAPIMajor": "1",
"_rallyAPIMinor": "40",
"_ref": "https://rally1.rallydev.com/slm/webservice/x/hierarchicalrequirement/xxxxxxxx.js",
"_objectVersion": "17",
"_refObjectName": "<user role> I would like <feature> for <benifit>",
"Name": "As a <user role> I would like <feature> for <benifit>",
"Iteration": {
"_rallyAPIMajor": "1",
"_rallyAPIMinor": "40",
"_ref": "https://rally1.rallydev.com/slm/webservice/x/iteration/xxxxxxxx.js",
"_objectVersion": "4",
"_refObjectName": "Sprint #",
"Name": "Sprint #",
"State": "Accepted",
"_type": "Iteration"
},
"Project": {
"_rallyAPIMajor": "1",
"_rallyAPIMinor": "40",
"_ref": "https://rally1.rallydev.com/slm/webservice/x/project/xxxxxxxx.js",
"_refObjectName": "Name",
"_type": "Project"
},
"_type": "HierarchicalRequirement"
},
....
]
有关更多信息和一些资源: