0

我想将一个用户故事从一个项目复制到另一个项目。如何使用红宝石来完成这个?

我知道有一个深拷贝应用程序,但只能一个一个地复制。我有成千上万的用户故事要管理。

有没有像@rally.copy 这样的功能?

4

2 回答 2

1

Rally api takeit 中没有内置复制便捷方法。在同一工作空间内将故事从一个项目移动到另一个项目可以通过 3 个步骤完成:

获取目标项目的 ref

project = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/project/2222" } 

查询您要更新的故事

results = @rally.find(query)

批量更新故事

results.each do |s|
    field_updates = {"Project" => project}
    s.update(field_updates)
end

复制将更加困难,因为这将需要从一个项目中读取故事以获取其数据,然后使用该数据创建新故事@rally.create。为避免并发问题,请在不复制其子/父关系的情况下创建故事。只有在故事创建后,您才能阅读新创建的故事并通过更新父字段将它们拼接在一起,例如

获取父母的参考

parent = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/7777" }

找到要更新的故事

  children = @rally.find(query)

更新

children.each do |s|
    field_updates = {"Parent" => parent}
    s.update(field_updates)
end
于 2013-11-07T21:15:29.560 回答
0

看看rally gem拉力赛 API

于 2013-11-06T19:44:01.493 回答