slack、ステキですね。デザインとか細やかな気づかいが私の心をくすぐります。windowsだとネイティブアプリケーションが無いですが、デスクトップ通知を許可してショートカットを作れば、ユーザー体験的にはデスクトップアプリと遜色ありません。
さて、奥ゆかしきslackはデフォルトでslack-botを用意して、hubotで動作できるようにしてくれています。
しかし、公式のhubot-slackアダプタはwebhookを用いるので、hubotが動作する場所にグローバルURLからアクセス出来なければなりません。
Herokuでhubotを動かすことが推奨されている訳ですが、ローカルのアプリケーション(redmineとかgitlabとか)とhubotを連携させている場合、web上で動かすのは困ります。そのような場合にもslackはhubotに希望を残してくれています。
Slack を XMPP プロトコルで Hubot と連携する – ja.ngs.io
基本このページに書いてあることで動きますが、僕の環境では動かなかった設定と、細かい追記をいくつか。
Contents
1. グループのOwner権限のあるアカウントでログインし、Admin Settings > GatewaysからXMPPを有効化する(1回やればおk)
2. hubot用のユーザーを作成する
3. xmpp用のnpmをhubotにインストールする
npm install hubot-xmpp --save
4. hubot用のユーザーでログインして、Gateway情報画面からHost, User, Pass 情報を取得
5. hubotのbin/hubotのexec node_modules/.bin/hubot “$@”より前に以下を追記
# slack settings export HUBOT_XMPP_HOST=conference.<グループ名>.xmpp.slack.com export HUBOT_XMPP_ROOMS=general@$HUBOT_XMPP_HOST export HUBOT_XMPP_USERNAME=<hubot用ユーザー名>@<グループ名>.xmpp.slack.com export HUBOT_XMPP_PASSWORD=<取得したパスワード>
ここで、HUBOT_XMPP_USERNAMEには注意が必要です。参考サイトでは”hubot@$HUBOT_XMPP_HOST”となっていますが、僕の環境ではこれでは動きませんでした。”conference.”を除いた”<グループ名>.xmpp.slack.com”でなければダメでした。
6. “bin/hubot -a xmpp -n <使いたい名前>”でhubotを起動
7. slack上から<使いたい名前> ping でPONGが変えればおk
ステキなのです。
コメント