我正在尝试使用以下示例代码创建任务:
fields = {}
fields["Name"] ="test"
fields["Workspace"] = "https://rally1.rallydev.com/slm/webservice/1.42/workspace/1234567.js"
fields["Project"] = "https://rally1.rallydev.com/slm/webservice/1.42/project/1234567.js"
fields["Owner"] = "https://rally1.rallydev.com/slm/webservice/1.42/user/1234567.js"
fields["Estimate"] = '0.25'
@rally.create(:task, fields)
运行时出现以下错误:
Error on request - https://rally1.rallydev.com/slm/webservice/1.42/Task/create.js -
{:errors=>[
"Validation error: Task.Project should not be null",
"Validation error: Task.WorkProduct should not be null"
], :warnings=>[
"API status is Deprecated and will become Not Supported on 2014-05-08",
"Ignored JSON element Task.Project during processing of this request."
]}
错误似乎很奇怪。一方面,他们指出api忽略了JSON中的Task.Project,但是有一个验证错误,即Task.Project为空。
我在这里做错了什么?
答案 0 :(得分:0)
如果没有与工作产品相关联(即故事或缺陷),则无法创建任务。任务从工作产品的项目继承其项目。这就是为什么忽略Project设置的原因。在创建任务时,您需要将任务关联到故事或缺陷:
fields = {}
fields["Name"] ="test"
fields["WorkProduct"] = "https://rally1.rallydev.com/slm/webservice/1.42/hierarchicalrequirement/1234568.js"
fields["Owner"] = "https://rally1.rallydev.com/slm/webservice/1.42/user/1234567.js"
fields["Estimate"] = '0.25'
@rally.create(:task, fields)
尝试一下它应该适合你。