Lookerで作成したダッシュボードをSlackに配信する #looker
こんちわ。大阪オフィスの玉井です。
BIツールで色々なダッシュボードを作っていると、「このダッシュボードは定期的にメンバーに展開したい」みたいな要件が出てくると思います。メール等の定期配信に対応しているBIツールは多いと思いますが、LookerはSlackに対しての通知にネイティブ対応しています。今回はSlackへの通知方法をご紹介します。
参考にしたドキュメント
作業環境
- Windows 10 Pro
- Google chrome 77.0.3865.90
- Looker 6.20
- Slack 2019/10/15時点のバージョン
- Appをインストールできる権限を所持
やってみた
方法は2通りある
- Looker用のSlack App(Bot扱い)をSlackにインストールする
- Slackのレガシートークンを使う
公式の案内としては、前者が推奨されているので、今回は前者をやってみたいと思います。
Slack側の設定
Slack Appの設定画面へ
https://api.slack.com/apps に移動しましょう。
Slack Appを作成する
Appの名称とインストール先のワークスペースを設定します。
Bot Userを追加する
左部のメニューからBot Users
を選択して、Add a Bot User
を選びます。
Botユーザーとしての名前と裏側での名前(検索するときとかに使用)を決めます。
Scopeの設定を行う
左部メニューからOAuth & Permissions
"を選択し、ページ下の方にあるScope
の設定部分をチェックします。このBotに与える権限の範囲を決める設定ですが、ここでは、下記の3つを入力します。
channels:read
users:read
files:write:user
これを一行づつ設定画面に入力します。
Appのインストール
これまでの設定を終えたら、今と同じページの一番上にあるInstall App to Workspace
を選択して、Appをインストールします。
インストールを終えると、トークンが発行されるので、 Bot User OAuth Access Token
をメモっておきましょう。
Looker側の設定
SlackにAppをインストールしたところで、今度はLookerにうつります。まず、AdminメニューからActions設定画面に移動します。
Actionsの中にSlackがあるので、そちらの設定画面に移動します。
あとは、先程のトークンを使用してSlack Actionsを有効にしましょう
実際に通知を試す
一通り設定ができたところで、実際にSlackへの通知をやってみたいと思います。
今回は下記のダッシュボードをSlackに通知したいと思います。
右上の歯車メニューからSendかScheduleを選びます。一回きりか定期かの違いですね。今回はSendをやってみます。
下記のように設定しました。
Sendしてみたところ、無事Slackにダッシュボード画像つきで通知がきました。
ちなみにLookの場合
上記はダッシュボードを通知対象としてやってみましたが、もちろんLookもできます。ただし、選べるフォーマットがダッシュボードと異なり、画像やPDFを選ぶことが出来ません(いまのところ、HTMLはSlack側でうまく解釈してくれなかった)。
Lookでも画像をSlackに添付したい場合、lookerbotを導入することで実現が可能ですが、それはまた別のお話…。
おわりに
LookerBotも試してみたい。