2016-10-07 8 views
1

私のスクリプトはマイルストーンを除いて動作します。私は現在、それのためにごみを取得しています:Rubyからマイルストーンを取得できますか?

US59689 16-18 CSI-CSU #<RallyAPI::RallyCollection:0x51c94b0> 

Ruby経由でユーザーストーリーマイルストーンを取得する方法はありますか?

require 'rally_api' 

    headers = RallyAPI::CustomHttpHeader.new({:vendor => "My Company", :name => "My Ruby Test Pgm", :version => "1.0"}) 

    config = {:base_url => "https://rally1.rallydev.com/slm"} 
    config[:api_key] = "myKey" 
    config[:workspace] = "myWkSpace" 
    config[:project] = "myProject" 
    config[:headers] = headers #from RallyAPI::CustomHttpHeader.new() 
    config[:version] = "v2.0" 

    rally = RallyAPI::RallyRestJson.new(config) 
    query = RallyAPI::RallyQuery.new() 
    query.type = "userStory" 
    query.fetch = "Project,Name,FormattedID,Iteration,Release,Milestones" 
    query.project_scope_up = false 
    query.project_scope_down = true 
    query.order = "Name Asc" 
    query.query_string = "(Release.Name = \"PPI-16E\")" 

    results = rally.find(query) 

    results.each do |defect| 
     puts "#{defect["FormattedID"]} #{defect["Iteration"]} #{defect["Project"]} #{defect["Milestones"]} 

end 
+0

ごみはないこと、それはあなたがおそらく展開して反復処理する必要がRubyのオブジェクトです。詳細は、ドキュメントを参照してください。 – tadman

+0

ありがとう。あなたのコメントは、@ JPKoleによって提供されたコードの説明に役立ちました。 –

答えて

0

これを試してみてください:

.... 
results = rally.find(query) 

results.each do |defect| 
    puts "#{defect['FormattedID']} #{defect['Iteration']} #{defect['Project']}" 
    defect['Milestones'].each do |ms| 
     this_ms = rally.read('Milestone',ms.ObjectID) 
     puts "\t#{this_ms['FormattedID']} #{this_ms['Name']}" 
    end 
end 
+0

ありがとうございましたJPKole、あなたのコード例は私にマイルストーンをくれました!オブジェクトを反復することは私にとっては新しいコンセプトであり、誠に感謝しています。 –

関連する問題