hubot×hipchatでChatOps的なアレ
最近よく聞くChatOps
chatのbotを利用して色々なオペレーションを自動化するワークフローで、
githubがやりはじめたってやつです
chatopsとはなんぞや的なことは下記を一読
ChatOps at GitHub // Speaker Deck
ちょっと思うとこがありやってみました。
hhubot側の設定
hubotインストール
まずはインストール。
node,redisが必要なのでない場合はインストールしてください。
以前はhubotをnpmでインストールしたような気がするのですが、
現在は下記でインストールできるようです。
hubot/docs at master · github/hubot · GitHub
npm install -g yo generator-hubot
nodeのバージョンが低いとインストールできませんでした。
自分はv0.10.26にすることでインストールできました。
hipchat側の設定
次はhipchatの内容をhubotが受け取れるようにしていきます。
hipchatアカウント作成
なにはともあれhipchatのアカウントをつくりましよう。
自分とbot用のアカウントを作成します。
プライベートグループチャットと IM サービス | Atlassian HipChat (アトラシアン ヒップチャット)
Jabber ID取得
上でつくったbotが反応できるようにするにはJabber IDなるものが必要だそうです。
下記からメモります。
https://username.hipchat.com/account/xmpp
hipchatアダプターインストール
hipchatの内容を受け取れるようにアダプターをインストール
npm install hubot-hipchat --save
hipchat用環境変数設定
下記のようにhipchat用の環境変数の設定が必要ありだそうです。
export HUBOT_HIPCHAT_JID="hogehoge@chat.hipchat.com" export HUBOT_HIPCHAT_PASSWORD="xxxxxxxxxx"
アダプタ設定してのhipchat起動
- aでアダプタ設定するとのこと
cd ~/test_bot bin/hubot -a hipchat
問題なければhipchatからpingやってみます。
イケマシタ。
ついでに新しいscript作ってみます。
対象のbotディレクトリのscriptの下に作成します。
cd myhubot vi scripts/hello.coffee module.exports = (robot) -> robot.hear /hello/i, (msg) -> msg.send 'hello!!!'
coffeescriptで書きます。
botがhelloという文言を受け取るとhello!!!と返します。
作成したscriptを反映させるためには、botを再起動する必要があるみたいです。
robot.hearなので@をつけなくても反応します。
こんな感じでscriptを作成していって、自動化してけばよさそうです。
感謝致します。