下面是我使用的API verison:
script type="text/javascript" src="/apps/1.33/sdk.js?apiVersion=1.43"></script>
我们的目标是显示一个组合项目/功能和所有在网格特征的子用户故事。 然后,基于美国的字段值,更新投资组合项目/特征的字段的值。
我能够使用更新用户故事的发行领域rallydatasource.update
命令,但相同的命令不更新投资组合项目/功能领域合作
下面是我想要更新的字段Feature
。 这些不工作
rallyDataSource.update({_ref:ref, GroomingState: nfGroomingState},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, c_GroomingState: nfGroomingState},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, Ready: true},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, Notes: "This is test"},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, Architect: "XYZ ABC"},onUpdateComplete,onError);
下面是我想要更新的字段UserStory
。 这并不工作。
rallyDataSource.update({
"_ref":sRef,
"Release": [
{
ref:relRef
}
]},
onUpdateComplete,onError);
是否有人可以帮助我了解,如果有什么我做错了什么? 是升级到最新的投资组合项目不以V 1.43支持?
您正在使用一招?apiVersion=1.43
设置WS API版本的版本遗留AppSDK1早,不支持,和它的作品的程度,但不足以获得工作的更新。
我建议AppSDK2此外,由于PI类型的国家是一个完整的对象(不同于国家或缺陷或UserStories的ScheduleState)一_ref必须在此代码中使用: GroomingState: nfGroomingState
您可能使用的参考,它是不是从清代码片段。 有一个在这里的Ruby例如 ,与PI状态的作品。 拉力红宝石工具箱位于相同WS API模型,以便例如不完全不相关的。
以下是我与AppSDK1组试图用WS API的版本1.43的细节。 我不管如何设置版本或者使用src="/apps/1.33/sdk.js?apiVersion=1.43"
或rallyDataSource.setApiVersion("1.43");
我必须使用父类型:
PortfolioItem
代替混凝土的PortfolioItem/Feature
型,当我查询:
function itemQuery() {
var queryObject = {
key: "pi",
//type: "PortfolioItem/Feature", //does not work
type: "PortfolioItem",
fetch: "FormattedID,Parent,State,Name",
query: "(Parent.FormattedID = I8)"
};
rallyDataSource.findAll(queryObject, populateTable);
}
这工作得很好,和PortfolioItem /倡议I8的孩子,这是类型PortfolioItem /功能的成功返回,如果所有我想要做的是建立一个网格,它的工作原理:
function populateTable(results) {
var tableDiv = document.getElementById('aDiv');
for (var i=0; i < results.pi.length; i++) {
var config = { columns:
[{key: 'FormattedID', header: 'Formatted ID', width: 100},
{key: 'State.Name', header: 'State', width: 100},
]};
var table = new rally.sdk.ui.Table(config);
table.addRows(results.pi);
table.display(tableDiv);
};
两个特征是退换,已经国家已经设置,其他同任何国家:
但是,如果我尝试添加更新功能:
function populateTable(results) {
var tableDiv = document.getElementById('aDiv');
for (var i=0; i < results.pi.length; i++) {
if(results.pi[i].State === null){
console.log('state:',results.pi[i].State)
rallyDataSource.update({"_ref":results.pi[i]._ref, "State": "https://rally1.rallydev.com/slm/webservice/v2.0/state/12352608621"});
}
}
//...
"Requested type name "feature" is unknown
则返回错误:
OperationResult: ObjectErrors: Array[1]0: "Requested type name "feature" is unknown."length: 1__proto__: Array[0]Warnings: Array[1]0: "Please update your client to use the latest version of the API. You can find the latest version at https://rally1.rallydev.com/slm/doc/webservice/index.jsp?version=v2.0. No new projects should use this version of the API as it will be removed in the future."length: 1
AppSDK1可与WS API,它不再支持。 1.43最后支持的日期是今年6月20日。 AppSDK1停在WS API的1.32。 这是用于特技设置WS API的版本,因为PortfolioItems是在WS API的1.37推出的原因。 特别是在使用后推出了AppSDK1不再更新(见特点WS API版本 )也不能保证rallyDataSource.setApiVersion("1.43");
招将在所有情况下工作。
文章来源: RallyDataSource.update is not working for portfolioitem/feature (works for userstories)