Open2

Bolt x herokuを試す

mesh1nek0x0mesh1nek0x0

目的

slack workflowの拡張ステップの作成を試したい

今回のゴール設定

  • workflowでformからタイトルと内容入力すると、サマリが表示される
  • お金をかけずに最低限システムを運用できる
  • 構築になるべく手間暇をかけない

アプローチ

  1. 公式フレームワークのBoltを利用してローカル挙動確認
    2. Herokuにデプロイして確認 ※公開できないSlack workspaceなので意味合いが薄いことに気づいた

今後

mesh1nek0x0mesh1nek0x0

Hello Bolt App

順当にここから
Slack | Bolt for JavaScript
https://slack.dev/bolt-js/tutorial/getting-started

create Slack App

手順に沿って、新しくSlack App Createする
あとでworkflow builderからも利用したいため、課金済みのworkspaceで作る

token

2種類あって、xoxpはuser、xoxbはbotという使い分け。
大体はbotトークンが多いそうな、権限をばらまかない方が得策だよね。

環境変数

mac全体で指定するのはアレだったのでdotenv入れて.envから読み込ませるようにした
.envはちゃんとignoreしておく

exportまでコピペしててdotenvちゃんと動いてなかった><

Event Subscription

SlackのなんのEventをこのappに飛ばすか設定するみたい

ngrokは入れてなかったのでbrewで突っ込む

# httpsのforwardingのURLをコピーする
$ ngrok http 3000

末尾に/slack/eventsというのをつけて
https://8e8ec2d7.ngrok.io/slack/events
といった具合のURLを設定する

botの追加

適当なpublic channelにbotユーザをinviteして、helloすると返事がきた

interactive

別途設定で有効にする必要があり、設定からinteractiveを有効にする

boltの場合、endpointのURLは同じでよいっぽいので、先ほど同様
https://8e8ec2d7.ngrok.io/slack/events
といった具合のURLを設定する

heroku周り

今気づいたけど、ワークスペースは表出せるものではないのでherokuに上げなくても良いことに気づいた

memo
デプロイ時のポートがランダムな点と、Slackの設定上のURLは変わってしまうため、
その辺の調整は必要、あとはいつも通りheroku使う感じで良いみたい

end