deglacer
KibelaリンクをSlack上で展開してくれる君
Description
deglacerはkibelaのリンクがSlackに投稿された際に、それを展開してくれるSlack Appです。以下の機能を備えています。
- kibelaの記事の展開
- kibelaのコメントの展開
deglacerは木べらを用いる調理手法である、déglacer(デグラッセ)から命名しました。
Installation
- Kibelaアクセストークン取得
- Slack App作成
- deglacerのデプロイ
- 2で作ったappに、3のURLを登録する
- Slack Appのbotユーザーをチャンネルに招待する
1. Kibelaアクセストークン取得
以下のURLからアクセストークンを作成します(KIBELA_TOKEN
)。権限はreadのみで大丈夫です。
https://my.kibe.la/settings/access_tokens
2. Slack Appの作成
- https://api.slack.com/apps の Create New App からアプリ作成
- 左メニュー OAuth & Permissions を開き、Scopesでlink:writeを追加
- 左メニュー Event Subscriptions を開く
- App unfurl domains を展開し、 Add Domain で、 {
KIBELA_TEAM
}.kibe.la を入力し、Save Changes
- 左メニュー Install App を開き、 Install App to Workspace -> Allow
- OAuth Access Token が表示されるのでメモ (
SLACK_TOKEN
)
- Basic Information を開き App CredentialsのSigning Secretをメモ (
SLACK_SIGNING_SECRET
)
※後で戻ってくるので、Slack Appの管理画面は開いたままにしておく。
3. deglacerのデプロイ
deglacerはGoで書かれたWebアプリケーションなので、任意の場所で簡単に動かせますが、HerokuやGoogle App Engineを利用するのがより簡単でしょう。動作のためには以下の環境変数が必要です。
KIBELA_TEAM
: Kibelaのチーム名
KIBELA_TOKEN
: 手順1で取得したKibelaのアクセストークン
SLACK_TOKEN
: 手順2-5で取得したSlack Appのトークン
SLACK_SIGNING_SECRET
: 手順2-6で取得したリクエスト署名検証secret
Herokuで動かす場合
以下のボタンからデプロイできます。
Google App Engineで動かす場合
- 事前にgcloudコマンドのインストールやGCP上のアプリの作成をおこなう
- 当リポジトリをcloneする
secret.yaml
に設定項目を記述する(secret.yaml.example
を参考に)
gcloud app deploy
でデプロイ
4. 2で作ったappに、3のURLを登録する
- 左メニュー Event Subscriptions を開き、 Request URL に 3でデプロイしたdeglacerのURLを入力
- Verified と表示されたら Enable Events を On にして Save Changes
5. Slack Appのbotをチャンネルに招待する
Bot名は、左メニューのApp Homeから確認してください。
これで準備完了です。
See Also
deglacerはotofune/slack-unfurl-kibelaのRuby実装を参考に移植しました。設定にあたっては、higebuさんのエントリが非常に参考になりました。
Author
Songmu