griffonでちょっとこんなの作ってみた

恥ずかしげもなくHudsonブラウザ(仮)とか言ってみる。:-)


つい最近,HudsonのリモートアクセスAPIの存在を知った*1ので,どこまでAPIが提供されているのか見たいのもあって,(↑)あんなの作ってみた。
#コードはまだお見せできる状態じゃないので,しばらく非公開。:-P


スクリーンショットだけだとそれっぽく見えるが,ものすごくやっつけなコードなのだよ。でもロクにSwing知らないのに,griffonのサンプル(GrailsSnoop)をベースにちょこちょこやるだけで簡単にできるんだから,groovy+griffonの手軽さは異常と言わざるを得まい。
#あと,XMLの処理もちょー簡単だった。XmlSlurperバンザイ*2


あとHudsonのリモートアクセスAPIについては,テストレポートにもAPIがあったことが一番の収穫だった。つーか,それさえ拾えれば自分的にはもう満足なんだけどね。
参考までに,APIの例を紹介("http://deadlock.netbeans.org/hudson/"は,お好きなHudson URLに書き換えてちょ)。

-ジョブ一覧
 http://deadlock.netbeans.org/hudson/api/xml
 http://deadlock.netbeans.org/hudson/api/schema

-特定のジョブ情報(analytics-server)
 http://deadlock.netbeans.org/hudson/job/analytics-server/api/xml
 http://deadlock.netbeans.org/hudson/job/analytics-server/api/schema

-特定のビルド情報(analytics-server/lastBuild)
 http://deadlock.netbeans.org/hudson/job/analytics-server/lastBuild/api/xml
 http://deadlock.netbeans.org/hudson/job/analytics-server/lastBuild/api/schema

-特定のビルドのテスト結果(analytics-server/lastBuild/testReport)
 http://deadlock.netbeans.org/hudson/job/analytics-server/lastBuild/testReport/api/xml
 http://deadlock.netbeans.org/hudson/job/analytics-server/lastBuild/testReport/api/schema

ちゃんと調べてないけど,ジョブの種類(フリースタイル,Maven,etc)によってスキーマが異なるようなので,真面目に作ろう思ったら,いろいろ考慮が要りそう。さらにUIのコスメティックとか考え始めると,やること多くて具合悪くなる。


だがしかし,意外と簡単に欲する情報が取得できる事がわかったのは素直にうれしい。あとは自分の気分次第なので,のんびりやるとしよう。
#あ,ちなみにgriffonはフリで,ホントウに作りたいのはIntelliJプラグインだよ。;-)

*1:id:kkawaさん,id:ssogabeさん,ありがとうございます

*2:ただ,日本語含んでいるXMLのデコードがあやしげなんだよね