1

Jenkins プラグインを作成しており、Jenkins API から特定のジョブの最後のビルド情報 (番号、タイムスタンプ、ビルド パラメーター) を取得したいと考えています。jenkins_api_client (ruby gem) と REST 呼び出しを使用してこれを実行し、取得できます。

<url_to_jenkins>job/<job name>/api/json?pretty=true&tree=builds[actions[parameters[name,value]],id,number]

これは私が得る出力です:

"{""builds""=>
[{""actions""=>
[{""parameters""=>
[{""name""=>""BUILD"", ""value""=>""APACHE""}, 
{""name""=>""CLIENT"", ""value""=>""GOOGLE""}]}, {}, {}, {}, {}], 
""id""=>""2013-03-09_07-36-49"", 
""number""=>18}]}"

どうすれば取得BUILDしてCLIENTAPACHEを取得できGOOGLEますか?

4

2 に答える 2

1

私はそれをテストしていませんが、 jsonが必要です。これが回答の形式です。

require 'json'

reply = "{""builds""=>
[{""actions""=>
[{""parameters""=>
[{""name""=>""BUILD"", ""value""=>""APACHE""}, 
{""name""=>""CLIENT"", ""value""=>""GOOGLE""}]}, {}, {}, {}, {}], 
""id""=>""2013-03-09_07-36-49"", 
""number""=>18}]}".replace('=>', ':')

my_hash = JSON.parse(reply)
puts my_hash['builds'] # access the content and further. you can do that.
于 2013-06-22T09:04:03.543 に答える