恥知らずのウェブエンジニア -web engineer, shameless

これは一歩を踏み出すことができない者たちのブログ

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にすることでインストールできました。

bot作成、起動、確認

さっそくbotを作成と起動。
redisも起動しておいてください。

mkdir myhubot
cd myhubot
yo hubot

./bin/hubot

Hubot> hubot ping
Hubot> PONG
Hubot> hubot pug me
Hubot> http://27.media.tumblr.com/tumblr_lsvlcmTElk1r1z2mqo1_500.jpg

起動後,pingなど打つとbotから返答があります。
これで一旦hubot側の設定はできました。

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やってみます。
f:id:ogataka50:20141119004641p:plain

イケマシタ。

ついでに新しい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を再起動する必要があるみたいです。

f:id:ogataka50:20141119005355p:plain

robot.hearなので@をつけなくても反応します。


こんな感じでscriptを作成していって、自動化してけばよさそうです。




感謝致します。

f:id:ogataka50:20141119005613j:plain