#Pull Requestにランダムでレビューワーを作成するBOTを作ってみた⇦これが最終目標
##背景/目的
チームで開発していると、だれがプルリクエストをレビューするかに偏りがでてきます。そしてレビューに偏りが生まれることで、関係がフラットでなくなり、開発に支障をきたすことがあるかもしれません。
そこで今回はSlackのHubotを使って、プルリクエストにランダムでメンバーをアサインするBotを作成しました!
自動化して無駄のない開発を行っていきましょう!!
利用するものは
- Github Webhook
- Slack Hubot
- Heroku
この記事ではスラックでHubotと会話できるところまでを書き、二つ目の記事でGithubと連携部分を書いていきたいと思います。
エンジニアに寿司好きが多いことからこのボットはsushi-shokuninと名付けました!ちなみにアイコンはこちら。
##初めにHubotをインストールしよう!!
ますHubotを使うにあったってnode.js, redisが必要です。これらがインストールされてない場合は、まずインストールしてください。
redisは以下のコマンドでインストールしましょう!
brew install node redis
忘れないうちにredisを起動しておきましょう。
redis-server &
Hubotのインストールは公式ドキュメントにもあるようにnpm
を使ってインストールします。
npm install -g yo generator-hubot
Hubotをインストールすることでhubot
コマンドが利用できるようになります。
Hubot のプロジェクトを作成
ではプロジェクトを作成しましょう!
$ mkdir name(僕はsushi-bot)
$ cd sushi-bot
$ yo hubot
yo hubot
コマンドでこのディレクトリー内にHubotの環境が構築されます。
最後のBot Adapter
は元気にslack
と入力してください
エンターを押すと環境構築が始まります!
では正常にhubotが動くか確かめてみましょう!
以下のコマンドでhubotを起動できます。
※redisを起動していないとhubotは動かないので注意を
$ bin/hubot
herokuのエラーが出てますが無理でおっけーですー👍🏻
では話しかけてみましょー
botの名前を入力してping
と入力し、PONG
と返って来たら成功です!
SlackのAccess-Tokenを取得しよう
ここからintegrationを設定できます!
検索からhubotにいき、hubotのConfigurationsを設定しましょう。
Usernameは好きなものを登録してください。
登録したあとにAPI Tokenが表示されるので、メモっておいてください。
Herokuにデプロイしてスラックから話しかけよう!
ヘロクのインストールはこの記事を参考にしてください!
デプロイの前にライブラリーを追加しておきましょう
$ npm install hubot-slack --save
herokuにデプロイします。
$ git push heroku master
$ heroku ps:scale web=1
slackのセットアップをしていきましょう!
初めにslackのAPI Tokenを登録します!
heroku config:add HUBOT_SLACK_TOKEN=xxx
タイムゾーンにTOKYOをセット
heroku config:add TZ=Asia/Tokyo
rediscloudをHerokuにセット
$ heroku addons:add rediscloud
slackから個人メッセージを送ってみましょう!
pingと送りPONGと返って来たら成功です!!!!
次の記事はGithubのWebhookから初めて行きます。
※botのプロフィール画像はHubotの設定画面から変更可能です!