2016-10-07 2 views
1

Mein Skript funktioniert außer für Meilensteine. Ich bekomme derzeit Müll zurück dafür:Ist es möglich, Milestone durch Ruby zu holen?

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

Gibt es eine Möglichkeit, die User Story Meilensteine ​​über Ruby zu erhalten?

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

Das ist nicht Müll ist, das ist ein Ruby-Objekt, das Sie müssen wahrscheinlich entpacken und iterieren. Lesen Sie die Dokumentation für Details. – tadman

+0

Danke tadman. Ihr Kommentar hat geholfen, den von @JPKole bereitgestellten Code zu erklären. –

Antwort

0

Versuchen Sie folgendes:

.... 
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

Danke JPKole, dein Codebeispiel gab mir Meilensteine! Das Durchforsten eines Objektes ist für mich ein neues Konzept und ich schätze Ihre Hilfe sehr. –

Verwandte Themen