NetBeansのHudsonサポート
NetBeans 6.7ではHudsonサポートが追加されてます。非常に便利な機能ですがHudsonで権限の設定を行うと上手くいかないようです。あまり調べていないので勘違いの可能性が高いですが。
NetBeansでHudsonサーバを追加する
サービスでHudsonサーバを追加します。
Hudsonサーバを入力します。
パスワードを入力します。(追記: パスワード入力画面を追加)
するとエラーになります。パスワード間違えたわけではないのですが。
サーバのアクセスログは?
Hudsonサーバのアクセスログを見てみると、
"192.168.10.40" "NULL-AUTH-USER" "11/Jun/2009:23:42:33 +0900" "GET /hudson/?checking=redirects HTTP/1.1" 403 259 "192.168.10.40" "NULL-AUTH-USER" "11/Jun/2009:23:42:39 +0900" "POST /hudson/j_acegi_security_check HTTP/1.1" 302 0 "192.168.10.40" "NULL-AUTH-USER" "11/Jun/2009:23:42:39 +0900" "POST /hudson/ HTTP/1.1" 403 259
パスワードを入れた後に2行目のように、"/hudson/j_acegi_security_check"(ログイン時のURL)にPOSTしてから、"/hudson"にPOSTしてHTTPステータスコード403(Forbidden)を受信しています。
これは、認証が必要なのでHudsonの認証を通してから、HudsonのRemote APIを使用して、Hudson上のジョブを取得しようとしているとは思いますが、ログインに成功しても次のアクセスでエラーになっています。セッションが継続していないとかの問題かもしれません。深く追っていないので。
いずれにしろ、Remote APIはHTTP BASIC認証でユーザーを認証するので、ログインする必要はないんじゃないの?と思います。
ちなみに、匿名ユーザーを有効にした場合のアクセスログは、次のような感じになります。
"192.168.10.40" "NULL-AUTH-USER" "12/Jun/2009:00:40:50 +0900" "GET /hudson/?checking=redirects HTTP/1.1" 200 36065 "192.168.10.40" "NULL-AUTH-USER" "12/Jun/2009:00:40:50 +0900" "GET /hudson/api/xml?depth=1&xpath=/&exclude=//primaryView&exclude=//view[name='All']&exclude=//view/job/url&exclude=//view/job/color&exclude=//description&exclude=//job/build&exclude=//healthReport&exclude=//firstBuild&exclude=//keepDependencies&exclude=//nextBuildNumber&exclude=//property&exclude=//action&exclude=//upstreamProject&exclude=//downstreamProject&exclude=//queueItem HTTP/1.1" 200 17629 "192.168.10.40" "NULL-AUTH-USER" "12/Jun/2009:00:40:50 +0900" "GET /hudson/ HTTP/1.1" 200 36065
2行目がRemote APIを使用してXMLを受け取っています。
これが私の環境の問題でなければ、Hudsonの匿名ユーザーは使えるようにしておくしかないようです。