Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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、かつ、正規表現マッチには使用しないものとして定義可能です。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away