-1

我可以在我的 fetch 中包含变更集:

query.type = :build 
query.fetch = "Status,Uri,Changesets"

但我不知道如何阅读更改以获取与它们关联的工件。根据 API 文档,变更集集合是不可查询的。

4

1 回答 1

0

当您获得 Builds 结果时,您可以迭代两个集合:每个 Build 上的 Changesets 和每个 Changeset 上的 Artifacts。这是一个使用 rally_api gem 的 Ruby 代码,它打印出相关工件的 FormattedID:

@rally = RallyAPI::RallyRestJson.new(config)

query = RallyAPI::RallyQuery.new()
query.type = :build
query.fetch = "Status,Uri,Changesets,Changeset,Revision,Artifacts,FormattedID"
query.workspace = {"_ref" => "https://rally1.rallydev.com/slm/webservice/1.43/workspace/1111.js" }  #use valid OID
query.project = {"_ref" => "https://rally1.rallydev.com/slm/webservice/1.43/project/2222.js" }          #use valid OID
query.query_string = "(ObjectID = 3333)"     #use valid OID

results = @rally.find(query)

change_sets = []
artifacts = []

results.each do |b|
    b.read
    puts "Status: #{b["Status"]}, Uri: #{b["Uri"]}"

    b["Changesets"].each do |c|
        c.read
        puts "Revision: #{c["Revision"]}"
        change_sets<<c
    end
end

change_sets.each do |c|
    if (c["Artifacts"])
        c["Artifacts"].each do |a|
            a.read
            puts "FID: #{a["FormattedID"]}"
            artifacts<<a
        end
    end
end
于 2013-07-09T20:46:34.013 回答