Custom bot with proxy 設定
【概念図】
Custom bot with proxy を Slack のワークスペースに導入するには、Slack アプリを作成・編集する必要があります。手順は以下の通りです。
Custom bot with proxy を作成する
Slack API のアプリページ (opens new window)に移動し Create an App をクリックします。
From an app manifest をクリックします。
- アプリをインストールするワークスペースを選択して Next をクリックします。
- YAML タブに以下の App Manifest を貼り付けて Next をクリックします。
_metadata:
major_version: 1
minor_version: 1
display_information:
name: GROWI BOT
features:
bot_user:
display_name: GROWI BOT
always_online: false
slash_commands:
- command: /growi
url: https://{Slackbot Proxy のドメイン名}/slack/commands
description: Test Bot
should_escape: false
unfurl_domains:
- {Slackbot Proxy の URL}
oauth_config:
redirect_urls:
- https://{Slackbot Proxy のドメイン名}/slack/oauth_redirect
scopes:
bot:
- channels:history
- channels:join
- chat:write
- chat:write.public
- commands
- groups:history
- im:history
- links:read
- links:write
- mpim:history
- team:read
settings:
event_subscriptions:
request_url: https://{Slackbot Proxy のドメイン名}/slack/events
bot_events:
- link_shared
interactivity:
is_enabled: true
request_url: https://{Slackbot Proxy のドメイン名}/slack/interactions
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: false
- アプリの概要を確認したら Create をクリックしてアプリを作成します。
Slackbot Proxy を立ち上げる
packages/slackbot-proxy
の配下に 新規ファイル.env.development.local
を作成します。- 作成したファイルに任意の環境変数
SERVER_URI
を入力してください。
例: SERVER_URI=http://localhost:8080
- さらに、アプリページ (opens new window)から作成した Bot を選択し、
Basic Information
>App Credentials
の項目を確認します。
その中から Client ID
、Client Secret
、Signing Secret
を以下のように .env.development.local
に追加します。
SERVER_URI={ Proxy の URI }
SLACK_CLIENT_ID={ Client ID }
SLACK_CLIENT_SECRET={ Client Secret }
SLACK_SIGNING_SECRET={ Signing Secret }
GROWI 本体サーバーとプロキシ用サーバー(
slackbot-proxy
)の両方を立ち上げてください。
プロキシ用サーバーはyarn
,yarn dev
で起動できます。管理画面の Slack 連携 にて Custom bot with proxy を選択してください。
Custom bot with proxy を Slack のワークスペースへインストールする
作成した Slack App の Settings から Manage distribution をクリックします。
Share Your App with Other Workspaces の 4 つの項目全てにチェックマークがついたら、Activate Public Distribution を押します。
ページ上部の Add to Slack ボタンを押します。
遷移先の画面にて、Allow をクリックします。
Congratulations! と表示されたら Install が完了です。
GROWI bot を使いたいチャンネルに @example を使用して招待します。
WARNING
Illegal state, try it again.
と表示される場合は、Go to install page を押し、 Add to Slack から再度インストールしてください。GROWI Bot installation failed..
と表示される場合は、Add to Slack ボタンから再度インストールしてください。
GROWI Custom Bot with proxy サービスへの登録
GROWI Custom Bot with proxy サービスへの登録を開きます。
Access Token の発行 に各種トークンにアクセストークンが 2 種生成されていることを確認できます。 アクセストークンは必要に応じて再発行できます。Slack 上で
/growi register
と打ちます。表示されるモーダルの GROWI URL に、対象 GROWI の URL を保存します。
上記で発行されている Access Token Proxy to GROWI と Access Token GROWI to Proxy を入れ Submit ボタンを押します。
成功した場合、 proxy サーバーの URL が表示されます。
上記で取得した proxy サーバーの URL を Custom Bot With Proxy Integration の Proxy URL に入力し更新します。
Custom bot with proxy の接続テストを実行する
「Test connection」をクリックし、GROWI-Bot を招待した Slack チャンネルを入力します。
「Test」 ボタンをクリックします。
成功の場合
Successfully sent to Slack workspace. が Logs に表示され、 赤丸で囲った部分に緑色のチェックマークが表示されます。GROWI-Bot を招待した Slack チャンネルで確認してみましょう。GROWI 側
Slack 側
失敗の場合
接続テスト時のエラーログを参照してください。
全ての設定が完了したら GROWI bot でできることを参照してください。