Rally Ruby工具包:如何获取Portfolio Item状态的URL?
Ruby中是否有使用rally_api的示例如何设置此处提到的function状态?
具体来说,有没有办法查询ObjectID或要使用的完全限定的状态路径
"State" => "Developing"
代替
"State" => "/state/"
可以查询State,创建哈希,并使用查询结果填充哈希,其中State Name是键,State _ref是值:
state_results.each do |s| s.read state_hash[s["Name"]] = s["_ref"] end
然后我们可以更新一个州:
features.each do |f| field_updates={"State" => state_hash["Developing"]} f.update(field_updates) end
这是一个代码示例:
@rally = RallyAPI::RallyRestJson.new(config) queryState = RallyAPI::RallyQuery.new() queryState.type = :state queryState.fetch = "true" queryState.workspace = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/workspace/11111" } queryState.project = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/project/22222" } #use valid OIDs queryState.query_string = "(TypeDef.Name = \"Feature\")" state_hash = Hash.new state_results = @rally.find(queryState) state_results.each do |s| s.read #puts "Ref: #{s["_ref"]}, Name: #{s["Name"] }, TypeDef: #{s["TypeDef"]}" state_hash[s["Name"]] = s["_ref"] end query = RallyAPI::RallyQuery.new() query.type = "portfolioitem/feature" query.fetch = "Name,FormattedID" query.workspace = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/workspace/1111" } query.project = {"_ref" => "https://rally1.rallydev.com/slm/webservice/v2.0/project/22222" } #use valid OIDs query.query_string = "(Name = \"my feature\")" results = @rally.find(query) features = []; results.each do |f| f.read puts "Current state of Feature #{f["FormattedID"]}: #{f["State"].to_s}" features << f end features.each do |f| field_updates={"State" => state_hash["Developing"]} f.update(field_updates) puts "Feature #{f["FormattedID"]} is now in State: #{f["State"].to_s}" end