gpt4 book ai didi

ruby - 导出拉力赛项目数据

转载 作者:太空宇宙 更新时间:2023-11-03 16:27:56 24 4
gpt4 key购买 nike

是否可以导出包含来自 rally 的所有数据的整个项目?如何导出?可以用 Ruby rally_api 完成吗?

谢谢

最佳答案

Web Services API 中的项目对象没有引用其中所有数据的属性。如果整个项目是指项目中的所有工件、迭代、发布、修订历史等,WS API 中没有可以返回整个项目的单个对象。单个请求不会这样做。如果要导出工件,它们通常必须一次导出一个类型。这当然可以通过 rally_api 来完成,但是您遇到的限制并非特定于此 ruby​​ gem,而是针对不提供导出与项目相关的所有数据的方法的 WS API。

这是一个将缺陷从一个项目转移到同一工作区内另一个项目的示例。如果源项目和指定项目位于不同的工作区中,这将不起作用,因为 Web 服务请求被限定在一个工作区内。如果你想包含项目中的所有缺陷,你可以通过格式化的 id 注释掉查询。我建议在移动所有工件之前在一个工件上测试代码。

config = {:base_url => "https://rally1.rallydev.com/slm"}
config[:username] = "user@co.com"
config[:password] = "secret"
config[:workspace] = "W1"
config[:project] = "Top Project"
config[:version] = "v2.0"

@rally = RallyAPI::RallyRestJson.new(config)
query1 = RallyAPI::RallyQuery.new()
query1.type = :project
query1.fetch = "Name,ObjectID"
query1.workspace = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/workspace/12352608129.js" }
query1.query_string = "(Name = \"My Project 2\")"
results1 = @rally.find(query1)
project = results1.first
puts project

query2 = RallyAPI::RallyQuery.new()
query2.type = :defect
query2.fetch = "Name,FormattedID,Project"
query2.workspace = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/workspace/12352608129.js" }
query2.query_string = "(FormattedID = DE74)"
results2 = @rally.find(query2)
results2.each do |d|
d.read
field_updates = {"Project" => project}
d.update(field_updates)
puts "Defect #{d["FormattedID"]} was moved to project: #{d["Project"]}"
end

如果您想从 Rally 中导出工件,例如使用 rally_api 到 csv 文件也是可能的,但我没有它的工作示例。

关于ruby - 导出拉力赛项目数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21480094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com