シリーズトップページ |
---|
[シリーズ 全3回] Jenkins の実行済み全ジョブのコンソールログを取得する |
概要
次のようなジョブ定義の構造になっている場合に、
job
|-- A
|-- ジョブ1
|-- ジョブ2
|-- ジョブ3
「 ジョブ1」の実行済みの全ジョブのコンソールログを PlainText 形式で取得する方法.
コード
実行済みジョブの番号を取得する処理の詳細については、「02」を参照すること.
#!/bin/bash
# 「ジョブ1」の実行済み全ジョブの番号を取得する
Ns=`curl -X GET --user '<ユーザ名>:<APIキー>' "http://<IP>:<PORT>/job/A/api/json?tree=allBuilds[number]&depth=1" | jq -r '.allBuilds[].number'`
# 実行済み全ジョブのコンソールログを PlainText で取得する
for N in $Ns
do
# ジョブ番号ごとにログ置き場を作る
mkdir -p LOG/$N
# ログをダウンロードする
curl -X GET --user '<ユーザ名>:<APIキー>' "http://<IP>:<PORT>/job/A/jobs/ジョブ1/${N}/consoleText" > LOG/$N/consoleText
done
以上