textlint の SmartHR 用ルールプリセットを使って、Slack 上から文書のlint
とfix
を行える bot です。
- Slack 内で、bot のメンションを付けてメッセージを送信すると、textlint を通して文書のチェックと、自動校正を実行します。
bot 開発にはBoltを使っています。 ローカルで bot アプリを起動するには、以下のステップに従ってください。
- プロジェクトのルートディレクトリに
.env
ファイルを作って、必要な情報を設定 yarn
またはnpm install
を実行して依存ライブラリをインストールyarn dev
またはnpm run dev
を実行して、アプリを起動- ngrok をインストールしていなければインストール - https://ngrok.com/
brew install ngrok
のインストールを推奨します。
- 別のターミナルで
ngrok http 3000
を実行して公開エンドポイントを立ち上げる
SLACK_BOT_TOKEN=xoxb-111-111-xxx
SLACK_SIGNING_SECRET=xxx
node --version # v10.13.0 以上
yarn
yarn dev` # 起動すると https://localhost:3000/slack/events でリクエストを受け付けます
ngrok をまだインストールしていなければ、ダウンロードして設定します。以下のステップで、適切に設定できたか確認します。
# ローカルでアプリが立ち上がっていることを確認
curl -I -XPOST https://localhost:3000/slack/events # HTTP/1.1 401 Unauthorized が返ってくるはず
# 別のターミナルで実行
./ngrok http 3000
# ngrok の有償プランを使っているなら以下のように固定のサブドメインを指定できます
./ngrok http 3000 --subdomain {whatever-you-want}
# 再度、公開エンドポイントからリクエストをして、同じように 401 が返ってくるか確認
curl -I -XPOST https://{your random subdomain here}.ngrok.io/slack/events # HTTP/1.1 401 Unauthorized が返ってくれば OK
- Heroku CLI をインストール、
heroku help
でインストールされているか確認 heroku login
でログイン、heroku auth:whoami
でログインできるているか確認- Heroku のデプロイ先を設定
- 更新や修正を行って origin に push する
git push heroku main
を実行し、Heroku に deploy する- 完了
詳細な手順: https://slack.dev/bolt-js/ja-jp/deployments/heroku
brew install heroku/brew/heroku
heroku git:remote -a smarthr-textlint-bot-staging