Redashbot V2は、RedashのためのオープンソースSlack botです。
(hakobera/redashbotからフォークされましたが、ほぼすべてのコードを書き直し、V2として公開しています。)
- Chartのスクリーンショット
- Dashboardのスクリーンショット
- 表形式の結果(※スクリーンショットではありません)
- Dockerデプロイメント
サーバーレスなデプロイメント- HTTP基盤の新しいSlackアプリ(非RTMスタイル)
- オープンソース!
- Visualization
@botname <Query URL>#<Viz ID>
- e.g.
@redash https://your-redash-server.example.com/queries/1#2
- e.g.
- Dashboard
@botname <Dashboard URL>
- e.g.
@redash https://your-redash-server.example.com/dashboards/dashboard-name
- e.g.
- Table
@botname <Query URL>#table
- e.g.
@redash https://your-redash-server.example.com/queries/1#table
- e.g.
Slackアプリを作成し、環境変数SLACK_BOT_TOKEN
とSLACK_SIGNING_SECRET
を設定してください。
公式ドキュメントを参照してください。
イベントサブスクリプションページでは、Request URL
はhttps://<your-domain>/slack/events
になります。
その後、npm start
またはdocker run yamitzky/redashbot:main
を実行して起動します。Dockerを使用する場合は、-e
オプションまたは.env
ファイルを介して環境変数を渡すことを忘れないでください。
/redash-capture [URL]
でredashbotを使用できます。
アプリのスラッシュコマンドページで、[Create New Command]をクリックして送信します。Command
は/redash-capture
、Request URL
はhttps://<your-domain>/slack/events
を指定してください。
redashbotをワークフローステップとして使用できます。
アプリのInteractivity & Shortcutsページで、Interactivityを有効にします。Request URL
はhttps://<your-domain>/slack/events
になります。
その後、Workflow Stepsページに移動し、[Add Step]をクリックして送信します。Callback ID
はredash_capture
を指定してください。
SlackのBotトークン。
Slackの署名シークレット。
RedashのURLとそのAPIキー。
Botからアクセス可能なRedashのURL。
複数のRedashを一度に使用したい場合は、以下のようにこの変数を指定します。
REDASH_HOSTS_AND_API_KEYS="http://redash1.example.com;TOKEN1,http://redash2.example.com;TOKEN2"
または、各RedashにREDASH_HOST_ALIASを指定する必要がある場合は、以下のようにします。
REDASH_HOSTS_AND_API_KEYS="http://redash1.example.com;http://redash1-alias.example.com;TOKEN1,http://redash2.example.com;TOKEN2"
キャプチャ前に読み込み完了を待つミリ秒数。
chromium
、firefox
、またはwebkit
。デフォルトはchromium
です。
RedashリクエストにカスタムHTTPヘッダーを追加します。セミコロン区切りのkey:value形式で指定します。
例:
REDASH_CUSTOM_HEADERS="CF-Access-Client-Id:your-client-id;CF-Access-Client-Secret:your-client-secret"
このリポジトリをクローンし、以下を実行します。
$ npm install
$ npx playwright install
$ export REDASH_HOST=https://your-redash-server.example.com
$ export REDASH_API_KEY=your-redash-api-key
$ export SLACK_BOT_TOKEN=your-slack-bot-token
$ npm start
RedashbotはNodeプログラムとして作られています。
npm start
Dockerイメージが提供されています。現在、latest
タグはv1(旧バージョン)に使用されているため、2.0.0
などを使用する必要があります。
docker run -it --rm -e SLACK_BOT_TOKEN=$SLACK_BOT_TOKEN -e SLACK_SIGNING_SECRET=$SLACK_SIGNING_SECRET -e REDASH_HOSTS_AND_API_KEYS=$REDASH_HOSTS_AND_API_KEYS -p 3000:3000 yamitzky/redashbot:2.0.0
docker-composeも提供されています。
docker-compose up
以下のボタンをクリックするだけで、簡単にredashbotをHerokuにデプロイできます。