HudsonのリモートアクセスAPIを調べてみた
こうゆうのは勢いが大事なので,その気になっているウチに下調べしといたよ。
書いた本人が読み方忘れるかも知れないので,ヒントを残す。;-)
- ルートの hudson ってのは,hudsonのURL(HUDSON_URL)だと思ってくれ。
- ジョブ一覧を取りたかったら,"$HUDSON_URL/api/xml" にアクセスだ。
- hudson.primaryView.job.urlがjobのURL(JOB_URL)だよ。
- JOB_URLからビルド(BUILD_URL)を探す方法は何通りかある。
- "$BUILD_URL/api/xml"からはチェンジセットが取れる(あんま関心ない)
- "$BUILD_URL/testReport"があるかどうかは,アクセスしてみないと分からない。
- "$BUILD_URL/testReport/api/xml" ですべてのテスト結果が取れる
まーしかしだ。ちょっと
あたしが欲しいネタは末端の
...などと,まだなにも作ってもないのに余計な事ばかり考えてるなぁ。悪いクセだ。
ホントかどうかはわからないけど,勝手に思い込んでいる事を挙げるよ。
- jobの種類がfreeStyleProjectなのかmavenModuleSetなのかは,jobを取得してみないと分からない。
- たぶん,この2つの他にもjobの種類があるんだと思う(build matrixって無かったっけ?)。
- buildにテストレポートがあるかどうかは /testReport にアクセスしてみないと分からない。
- buildの出力はbuildの /consoleText から抜ける
- 残念だけど,各テストメソッドの出力は無い。
- api/xmlに '?xpath=...' を指定できるけど,特定の1要素の抜き出しに使う(出力内容の絞り込みには使えない)。
- /testReport 以外のレポートにAPIがあるかどうかは知らない。
- /testReport のAPIは古いHudsonには実装されていない。
何はともあれ,HudsonのURLさえ分かれば,ジョブ一覧→ジョブ特定→ビルド一覧→ビルド特定→テストレポートの有無確認→失敗したテストの詳細取得までたどり着ける(おまけで,ビルドのコンソール出力も)。
次はUIまわりか...。Swingは何も知らないに等しいからなぁ。先は長いや。:-)