LoginSignup
4
3

More than 5 years have passed since last update.

Jenkins の JOB を一括で無効化する Hubot script を作成しました

Posted at

Jenkins で特定の JOB を一括で、無効化/有効化したかったのですが、それらしいプラグインとかツールが見つからなかったので、 Hubot スクリプトにしてみました。

npm package

使い方

仕組み

JOBの有効化/無効化が Jenkins で公開している Rest API に見当たりませんでした。

なので、Jenkins 上でボタンぽちぽちしながら確認したところ、以下のリクエストで有効化/無効化のリクエストを送信できるようです。

$ curl -XPOST http://127.0.0.1/jenkins/job/test1/disable -H "Basic {auth}"

また、Basic 認証用のヘッダは、以下のようにして生成できます。

'Basic ' + new Buffer(process.env.HUBOT_JENKINS_USER_NAME + ':' + process.env.HUBOT_JENKINS_PASSWORD).toString('base64')

以上を組み合わせて有効化/無効化のリクエストを実行するスクリプトです。

また、スクリプトの呼び出し方法は、READMEでは、 jenkins job disableとしていますが、省略してj j disableなどの呼び出しも可能にしてみました。

省略形でリッスンするための記述方法は↓

robot.hear /j(?:enkins)? j(?:ob[s]*)? (.*)/i, (msg) ->

(?:x) と記述することで、xは書いても書かなくてもOK、かつ、正規表現マッチには使用しないものとして定義可能です。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3