idobata.ioがついに公式リリースされましたね!idobata.ioは気軽にBotやHookが設定できます。そして、有名なBotフレームワークとしてHubotがありますね。idobataではHubotのadapterが用意されているので、簡単にHubotとお話することができます。この記事では、HubotをHerokuにデプロイして、idobata.ioにJOINさせる方法を書いていきます。
nodeとnpmのインストール
まずは、node.jsとnpmをインストールします。
$ brew install node
で入ります。Homebrewでは同時にnpm
もインストールしてくれます。
hubotの準備
idobata/hubot-idobata · GitHub の通りにやってあげれば良いです。まず、coffee-script
とhubot
をインストールします。
$ npm install --global coffee-script hubot
次に、今回idobataと連携する用のhubot君を作成します。<path>
には任意のディレクトリ名を入れましょう。これが作業用リポジトリとして生成されます。
$ hubot --create <path> $ cd <path>
idobata.io
用のadapterをインストールします。
$ npm install --save hubot-idobata
idobata.ioの準備
Botを登録する
Roomにbotを招く
上記設定だけだと、OrganizationにBotが登録されただけです。Room自体にBotを招待してあげないといけません(1時間ハマった)。
Herokuへのデプロイ
先ほど<path>
の中で作業します。まずは、Procfile
を編集して、
web: bin/hubot -a idobata
に編集しておきます。次にHerokuにデプロイする準備をします。
$ git init $ git add . $ git commit -m "Initial commit"
$ heroku create Creating <your-app-name> done, stack is cedar http://<your-app-name>.herokuapp.com/ | git@heroku.com:rosemary-britches-123.git Git remote heroku added
HerokuにデプロイされたHubotは、一定時間放置されるとIdling状態になってしまいます。これを回避するために、
$ heroku config:set HEROKU_URL=http://<your-app-name>.herokuapp.com
を実行しておきます。次に、先ほどのAPIトークンとBotの名前を、Herokuに設定します。
$ heroku config:set HUBOT_IDOBATA_API_TOKEN=<your-bot-api-token> $ heroku config:set HUBOT_NAME=<your-bot-name>
Redisの準備
データ永続化の為に、Redisのaddonを入れる必要があります。verifyの済んでいる人は、
$ heroku addons:add redistogo:nano
で良いです。済んでない人は、Herokuのページに行ってverifyしましょう。Redis To Goのnanoプランは無料ですが、addonを使う場合はクレジットカードの番号を入れてverifyをする必要があります。
デプロイ
さてさて、デプロイです。
$ git push heroku master
しばらく待ちます。
idobata.io上で確認
Botが参加しているRoomに入って、@hubot ping
と呼んであげましょう。
PONG
が返ってきたら成功です!
まとめ
お疲れ様でした。結構簡単に導入できたのではないでしょうか?後は、公開されているScriptsを導入して便利にしていきましょう!