2012-09-06 11 views
5

私は、一連のhudsonサーバーのために自動的に生成されたジョブを制御するJavaプログラムを持っています。 hudsonリモートAPIを使用してジョブ(config)を作成、削除、または更新することは問題ありません。私はまた、それを管理して、ハドソン・ビューを作成し、ハドソン・ビューの新しい仕事を作成しました。しかし、私はまだ、既存のジョブをビューに追加する方法と、それをもう一度削除する方法を知る必要があります。hudsonのビューにプログラムでジョブを追加する方法

(ジョブ作成のように)ジョブを実行する引数を持つURLはありますか?

答えて

1

は、(少なくともジェンキンスv1.424.6で)ビュー設定のためのAPIはありませんが、(http://[jenkins]/view/foo/configSubmitに提出)http://[jenkins-host]/view/foo/configureでフォームを使用してfooを表示するためにジョブを追加することが可能であるべきです。

Javaを使用している場合は、HTMLUnitまたはHttpClientApache HttpComponentsを使用してください。

+0

私はすでにこの方法を試しています。しかし、私が直面している問題は、このフォームはビューにリンクする必要があるジョブの完全なリストだけでなく、ビューの列の設定も必要とすることです。表示する列挙型のリストには、列の実装クラスの知識が必要です。列の設定が省略されている場合、列は表示されないため、ビューは空です。さらに、フォームのjason表現を送信する必要があります。これを省略すると、ステータス500コードが結果になります。この中でも、これは実用的な解決策ではないようです。 –

5

Hudson CLI APIでgroovyスクリプトを実行できます。をビューに追加します。をビューに追加します。

import hudson.model.* 

def job = Hudson.instance.getView("View").getItem("Job") 
Hudson.instance.getView("View2").add(job) 

とCLIのためのコマンドは次のとおりです:ここでは、コードでは、スクリプトを実行するためにあなたのハドソンのインスタンスにインストールされているGroovyのサポートプラグインを持っている必要があります

java -jar hudson-cli.jar -s http://`your-hudson-server` groovy myScript.groovy 

注意。 http:// your-hudson-server/pluginManagerにインストールできます。

関連する問題