我正在使用 Rally WSAPI 2.0p5 和 JSON 返回
我希望在单个响应中从多个表中获取字段。这可能吗?例如,我正在尝试获取用户故事并在相同的数据响应中获取 Iteration.State。我知道可以做客户端,如果这是唯一的方法。有人可以提供并举例说明我如何处理异步响应来构建表(数组)。
我正在使用 Rally WSAPI 2.0p5 和 JSON 返回
我希望在单个响应中从多个表中获取字段。这可能吗?例如,我正在尝试获取用户故事并在相同的数据响应中获取 Iteration.State。我知道可以做客户端,如果这是唯一的方法。有人可以提供并举例说明我如何处理异步响应来构建表(数组)。
只需将 State 添加到您的 fetch 中包含的属性列表中。即使被查询的主类型没有该字段,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 }
});
}
作为我最初问题的后续行动。我最近在 Rally 的 WSAPI 文档中看到了 Batch Query WSAPI 的 alpha 版本。我建议使用批处理查询在单个响应中检索多个对象模型。
作为获取用户故事并在单个查询中获取迭代状态的示例。
{
"stories" : "/HierarchicalRequirement?fetch=Name,Iteration,State&query=(Iteration.State = Accepted)"
}
结果是更有用的东西,不需要对服务器进行多次查询。IE
"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"
},
....
]
有关更多信息和一些资源: