Hubotをインストールする
はじめてのHubot – Qiita
こちらのまとめがすごく良かったです。
Hubotを使うにはnode.jsとredisが必要なのでインストールする。
ぼくはnodeはnodebrewですでに入れているので、redisだけをbrewから入れる。
% brew install redis
redisの起動しておく。
% redis-server &
HubotのコマンドはCoffeeScriptで書かれているので、Hubotと一緒にインストールしちゃいます。
% npm install -g hubot coffee-script
あとは、Hubotの環境を作ります。
% hubot –create projectName
するとprojectNameというディレクトリが作られるので、
% cd projectName
% ./bin/hubot
でHubotのコマンドが打てるようになります。
Hubot> hubot ping
Hubot> PONG
PONGと返ってくればHubotが動いています。
個人的にはパグ画像を引っ張ってきてくれるコマンドが好きです。(パグかわいい!)
Hubot> hubot pug me
これもかわいい!gifの犬画像ヤヴァい!
Hubot> hubot animate me dog
HubotをHerokuにデプロイしSlackと連携してみる
基本的にはここに書かれていることをやるとうまくいく。
hubot-slack/README.md at master · tinyspeck/hubot-slack
すでにHubotはインストールしているので、
% npm install hubot-slack –save
だけ実行しておく。
ここからはHerokuにデプロイする方法になります。
hubot/docs/deploying/heroku.md at master · github/hubot
Herokuにログインする。
% heroku login
Enter your Heroku credentials.
Email: youremail@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/you/.ssh/id_rsa.pub
Herokuにデプロイするためにgitリポジトリを作る。
% git init
% git add .
% git commit -m “Initial commit”
Herokuアプリケーションを作る。
redisを使うのでアドオンも追加しておく。
% heroku create my-company-slackbot
$ heroku addons:add redistogo:nano
ここでアプリケーションのURLが作成される。
HerokuへのデプロイファイルのProcfileを編集する。
web: bin/hubot –adapter slack
HubotとSlackをIntegrationさせる。
Team Integration | Frontend-Team Slack
こちらより、追加させる。
% heroku config:add HEROKU_URL=自分のHerokuアプリケーションURL
% heroku config:add HUBOT_SLACK_TOKEN=HubotとSlackをIntegrationしたときに表示される
% heroku config:add HUBOT_SLACK_TEAM=HubotとSlackをIntegrationしたときに表示される
% heroku config:add HUBOT_SLACK_BOTNAME=HubotとSlackをIntegrationしたときに表示される
忘れちゃいけないのが、Service Configuration先ほど作ったHerokuのアプリケーションURLを入れる。
これを忘れるといっこうに連携されない。
最後にHerokuにデプロイしてアプリケーションを起動すればOK!
% git push heroku master
% heroku ps:scale web=1
Slack上で
slackbot pug me
のようにコマンドを実行できるようなっているはず。
@はつけない。
HubotをHerokuにデプロイしHipchatと連携してみる
事前にHipchatでGroup Adminよりbot用のアカウントを追加しておく。
RoleはUserにしておいた。
Slackと違い、Hipchatは事前にユーザーを追加しておく必要があるみたいだ。
すでにHubotの環境があるので、そのまま続けてHipchatとも連携してみる。
hipchat/hubot-hipchat
基本的にはここのリンクの通りやるとうまくいく。
icu4cというのをインストールする必要があるが、すでに入っていたのでスキップした。
% brew install icu4c
% brew link icu4c
Hipchatと連携要のnpmをインストールする。
% npm install –save hubot-hipchat
Procfileに
web: bin/hubot –adapter hipchat
を追加する。
なので、slackの分を合わせると、
web: bin/hubot –adapter slack
web: bin/hubot –adapter hipchat
こうなる。
heroku config:add HUBOT_HIPCHAT_TOKEN=HipchatのAPIからtokenを作成する
heroku config:add HUBOT_HIPCHAT_JID=123_456@chat.hipchat.com
heroku config:add HUBOT_HIPCHAT_PASSWORD=アカウントのパスワード
heroku config:add HUBOT_HIPCHAT_ROOMS=123_hoge@@conf.hipchat.com
HUBOT_HIPCHAT_JIDはbot用に作ったユーザーのJabber IDです。
はじめ自分のJabber IDにしてて、まったくHubotが動かなくてハマりました。
XMPP/Jabber account settings
HUBOT_HIPCHAT_ROOMSが部屋のnameでなく、XMPP JIDなのでお間違えなく。
最後にデプロイすれば、自動的にHipchatにhubotユーザーが追加される。
追加されなければ何かが間違っている。
もしかすると、Roomのパーミッションをopenにしてないと追加されないかもしれない。
追加されたあとにprivateにすればよい。
% git push heroku master
% heroku ps:scale web=1
ちなみにHubotのコマンドはすごい量が公開されているので、必要ならこちらから取り込もう。
hubot-scripts/src/scripts at master · github/hubot-scripts
なかでも、hubot-scripts/src/scripts/zombies.coffee at master · github/hubot-scriptsがきになるが、コードを見ると特定の画像をrandomで出してるだけだったw
HipchatとGithubを連携させる
連携メモ – 優々自適
こちらの記事のとおりだが、一点気をつけるところは、
GitHub Integration – Help Center
RoomがXMPP JIDではなく、単純にRoom名なところ。
ここでもちょいとハマった。
技術評論社
売り上げランキング: 465