2017-09-04 7 views
1

を通じてジェンキンスメトリックデータを取得します。私はジェンキンで自分の仕事のためのデータを取得するためにWeb APIを使用しています。しかし、$JenkinsUrl/metrics/APIkeyを呼び出すことはどこも私を導いていません。どのように私は情報を達成することができますか?私はジェンキンスメトリックプラグインのAPI呼び出しによって構築し、それぞれのタイムラインの情報を必要とするAPI呼び出し</p> <p><a href="https://i.stack.imgur.com/jUZEi.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jUZEi.png" alt="What I need with the API call"></a></p> <p>に必要なものAPI

+0

、仕事のために各ビルドをターゲットにする方法と、データを取得しますか?私が今知っている唯一のAPI呼び出しは '$ JENKINS_URL/metrics/$ METRICS_API_KEY'ですが、このターゲットを特定のビルドにしてタイムライン情報を得る方法を見つけることができません。 – imujjwalanand

答えて

1

各ビルド(キュー時間、ビルド時間、合計時間)のタイムライン情報の3つのビットはすべて、 "get build" APIで利用できます。

「キューで待機している8.1秒」などの画面で、ページフッターの「REST API」リンクをクリックしてから「JSON API」をクリックし、結果のAPI URLの末尾に&depth=2を追加します。

注:API jsonの特定の値を検索している場合、時間はミリ秒で表示されます。 jsonを解析した後、ビルド時間は "duration"プロパティの下にあり、残りの2つは "actions"プロパティの下の配列にあります。私にとって、それは、配列の3番目の要素だったが、それは(_class「jenkins.metrics.impl.TimeInQueueAction」と1見つける。)変わることがあります。

{ 
    "_class": "jenkins.metrics.impl.TimeInQueueAction", 
    "queuingDurationMillis": 16, 
    "totalDurationMillis": 4365 
} 

はので、私の例では、ビルド時間は4349でしたキュー時間は16であり、合計時間は4349 + 16 = 4365ミリ秒でした。

代わりにURLの最後に&depth=2を追加するのは、URLにこれを追加することにより、あなたが望む正確に三つの値を取得することができるかもしれない。より正確に&tree=duration,actions[queuingDurationMillis,totalDurationMillis]

+0

これはまさに私が探していたものです。しかし、私はここで質問をした後、上記の説明をいくつかのスレッドで見つけましたが、ビルド時間を見つける方法はわかりませんでした。これは私の仕事を完成させます。十分に感謝することはできません:) – imujjwalanand

関連する問題

 関連する問題