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

Slack に Hubotを導入する際にはまったところ(Heroku経由)

More than 3 years have passed since last update.

SlackにHubot導入

はじめに

最近いろいろと話題のSlackを導入(Heroku経由)しようとしていてはまったところを開発方法に沿って挙げていきます!

新しいボット作成

1. hubotcoffee-script をインストール

$ [sudo] npm install -g hubot coffee-script

2. hubot作成

$ hubot --create ボットの名前

例)testbotという名前のボットを作るならばこのようになります。

$ hubot --create testbot
Creating a hubot install at testbot
(省略)
$ cd testbot
$ ls
Procfile              README.md             
bin/                  external-scripts.json 
hubot-scripts.json    package.json          scripts/

3. ライブラリ追加

$ npm install hubot-slack --save

package.jsonhubot-slackまれているか確認

4. レポジトリを作成してプッシュ

ローカルでHubotが使えるか確認

$ bin/hubot
Hubot> hubot ping
Hubot> PONG

Herokuにデプロイ

1. Procfileを編集

web: bin/hubot --adapter slack

Note: Prockfileについて

2. Heroku app作成

$ heroku create my-company-slackbot

3. Addon追加

$ heroku addons:add rediscloud

4. SlackのインテグレーションページからHubotをアクティブにする

リンク:https://sirok.slack.com/services/new/hubot

5. Herokuのconfig設定

$ heroku config:add HEROKU_URL=http://XXXXX.herokuapp.com
$ heroku config:add HUBOT_SLACK_TOKEN=XXXXX
$ heroku config:add HUBOT_SLACK_TEAM=myteam
$ heroku config:add HUBOT_SLACK_BOTNAME=slack-hubot

Herokuにデプロイ

$ git push heroku master
$ heroku ps:scale web=1

これでひと通りの作業が終了しましたが・・・・Slackでいくら読んでもhubotが呼ばれていませんでした。そんな時の対処法について次は書いていきます。

はまったところ

Herokuのログを確認してみる

これでHerokuのログを見ることができます。

$ heroku logs

パラメータの不足

問題

2014-08-31T03:30:34.671420+00:00 app[web.1]: [Sun Aug 31 2014 03:30:34 GMT+0000 (UTC)] ERROR Not enough parameters provided. I need a token, rooms and account

解決策

言われた通りに必要なものを設定しましょう。

HubotがSlackにアクセスできるようにする

問題

modeが blacklist になっているとダメです。

2014-08-31T08:18:53.303034+00:00 app[web.1]: Slack adapter options: { token: 'XXX',
2014-08-31T08:18:53.303053+00:00 app[web.1]:   mode: 'blacklist',
2014-08-31T08:18:53.303055+00:00 app[web.1]:   channels: [ 'CHANNEL' ],
2014-08-31T08:18:53.303050+00:00 app[web.1]:   team: 'TEAM',
2014-08-31T08:18:53.303052+00:00 app[web.1]:   name: 'bot',
2014-08-31T08:18:53.303056+00:00 app[web.1]:   link_names: 0 }

解決策

modeを blacklist から whitelist にする

$ heroku config:add HUBOT_SLACK_CHANNELMODE=whitelist

どのチャットルームを見るのか設定

問題

2014-08-31T08:18:53.303034+00:00 app[web.1]: Slack adapter options: { token: 'XXX',
2014-08-31T08:18:53.303053+00:00 app[web.1]:   mode: 'blacklist',
2014-08-31T08:18:53.303055+00:00 app[web.1]:   channels: [ 'CHANNEL' ],
2014-08-31T08:18:53.303050+00:00 app[web.1]:   team: 'TEAM',
2014-08-31T08:18:53.303052+00:00 app[web.1]:   name: 'bot',
2014-08-31T08:18:53.303056+00:00 app[web.1]:   link_names: 0 }

解決策

対象にするチャネルを設定する

$ heroku config:add HUBOT_SLACK_CHANNELS=channel1, channel2

参照サイト一覧

公式ドキュメント

Qiita上ドキュメント

unbabel
autify
アジャイルチームのためのQA自動化ソリューションの Autify を開発するスタートアップ
https://autify.com/
Why not register and get more from Qiita?
  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
No 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
ユーザーは見つかりませんでした