2011-07-11 8 views
6

ハドソンがビジーであるかどうかを確認する方法はありますか?意味は、私は現在そのビルドを実行しているかどうかをチェックしたい。
ハドソンがビジーであるかどうかをチェックする方法は?

は現在、次のものを使用しています:

if(lastBuild == lastCompletedBuild){ 
     // hudson is free 
    } 
    else{ 
     //hudson is busy 
    } 

は、これは正しいロジックですか?もし最後のビルドが更新され、lastCompletedbuildが更新されなかった場合、マシンが再起動/クラッシュするとどうなりますか?

直接公開できるAPIはありますか?

+1

関連タグを追加する必要があります。私はハドソンが何かを知っていなくても、もしそれがjavaと何か関係があれば、あなたの投稿にjavaタグを追加します。人々は関連するタグなしであなたの投稿を見つけることはありません。 – Caimen

+0

@Caimen:hudson @ http://hudson-ci.org/を確認してください。 – akshay

+1

私はあなたの投稿にjavaタグを追加しているので、私はあなたがJavaコードを書いていると仮定しています。しかし、ちょうどあなたがHudonの状態を検出しようとしているからといって、必ずしもJavaを書いているわけではありません。詳細...我々はそれらを必要とする。 – Caimen

答えて

2

Hudson's APIをご覧ください。

具体的には:をハドソンの任意のパスに追加すると、そのページの機械可読データを取得できます。たとえば、hudsonserver:8080/api/xmlは、ジョブのリストとその現在のステータスを返します。

しかし、このコードはどこで実行されているのですか?上の図はlastBuildlastCompletedBuildですが、これらの変数はどこで設定されていますか?

+0

api:http://hudson.server.com/job/myjobname/api/xmlとtag lastBuild&lastCompletedBuildの値を使用して値を取得します – akshay

8

現在、ビルドキューにあるアイテムを確認したい場合は、http://your.hudson.server/hudson/queue/api/[xml|json]にリクエストすることができます。

2

あなたは負荷統計separate APIで利用可能を照会しようとすることができます:

<overallLoadStatistics> 
    <busyExecutors></busyExecutors> 
    <queueLength></queueLength> 
    <totalExecutors></totalExecutors> 
    <totalQueueLength></totalQueueLength> 
</overallLoadStatistics> 
2

あなたは、特定のジョブが現在構築しているかどうかに興味がありますか?その場合:

http://[hudson-host-and-path]/job/[job-name]/lastBuild/api/xml 

ビルドが現在起こっている場合はにタグ<building>セットを持っています。

関連する問題