この記事では、下記ツイートでご紹介した「データポータル(旧データスタジオ)のレポートをSlack経由で定期的にアラートさせる方法」を詳細に書き起こしています。
GASでデータスタジオのレポートをSlackに自動投稿させてみた。
— Ray@低浮上 (@tomray0306) 2018年8月13日
カスタムレポートのエクスポートもこれ一つで済むハズ!
①データスタジオでレポート作る
②SlackのWebhookインストールし、URLをメモ
③GAS書く(text=文面、url=2のURLを指定)
④GASにトリガー設定
⑤Slackに通知くるようになる pic.twitter.com/XpUX9kE9DX
概要
GAのデータを確認する際、カスタムレポートだとユーザーをまたいで同じレポートを閲覧することができません。
その為、スプレッドシートのように共同編集ができるデータポータルのレポートであれば、社内外問わずデータ共有が行いやすいのではないかと考えデータポータルでレポート作成をしました。
計算フィールドと呼ばれる関数を使った独自フィールドを作成することでチャネルグループのようにデータをグルーピングすることもできますし、レポートの表示期間も固定期間や直近の××日間にできる等、GAの上位互換のBIツールとして利用することができます。
2018年10月からはPDFエクスポートも行えるようになり、より共有方法の幅も広がって定点観測のレポートを作成するのに向いていると思います。
ただ、レポートを作成しても毎日開くのって面倒であり忘れてしまいがちです。
そこで、「いつも開くSlackに定期的にレポート通知が届いたら見るのでは?」と考え、Google Add Script(GAS)を使って定期実行させてみることにしました。
以下、実際に行った設定手順です。
1:データポータルにレポート作成
Slackに通知させたいレポートを作成します。
数に制限はありません。
ただ、1Slack Channelに対して1レポートに収まる方が受け取り手は辛くないかと思います。
2:Slack App「Incoming Webhook」を作成
投稿botを作る為、下記AppをSlack ワークスペースに追加します。
追加を行うと、以下のような画面が表示されます。
チャンネルへの投稿:このbotが投稿を行うChannelを指定
Webhook URL:投稿を行う為に必要なので、こちらはコピーしておきます
説明ラベル:追加済みインテグレーションリストに説明文を追加できる(らしい)
名前をカスタマイズ:bot名(キャプチャでは愛犬にしました)
アイコンをカスタマイズする:botのプロフィールアイコン
3:GASに投稿用Scriptを作成
GASを接続済みであれば、[Google ドライブ] > [新規] > [その他] から、
未接続であればスプレッドシートの[ツール] > [スクリプト エディタ] からGASを開きます。
Apps Script – Google Apps Script
Slackに通知させる際の記述テンプレートは以下をご利用ください。
textには通知時のメッセージを、
urlにはWebhook URLを指定します。
textで指定する際、便利そうな記述一覧:
<!channel> :@channel メンション
\n :改行
実際に設定したのがこちらです。
画面見切れてしまったのですが、https://の後にはデータポータルで作成したレポートURLが続きます。
設定が完了したら、一度テスト実行をしてみましょう。
「▶」を押し、このプログラムを実行します。
※初回実行時、アプリケーションの認証画面が表示されます
問題なく実行ができれば、上記のように投稿が行われると思います。
※2018年11月現在はレポート内容のサムネイルが表示されなくなったようなのでご注意ください。
4:GASのトリガーを設定し完了
時計アイコンをクリックし、設定したGASを定期実行させるようトリガーを設定します。
トリガー一覧が別タブで開かれますので、右下の [+トリガーを追加] をクリックします。
実行する関数を選択:設定したGASの関数名(今回はpostSlackTestとしていますが、記述時に別の値に書き換えていただいても問題ありません)
実行するデプロイを選択:Head
イベントのソースを選択:時間主導型
時間ベースのトリガーのタイプを選択:日付ベースのタイマー
時刻を選択:午前8時~9時
このようにしていただくと、毎日午前8~9時の間に自動投稿が行われるようになります。
補足
ツイート後、SEM Technologyの山田さんから以下のようなツイートをいただきました。
ダッシュボードのURLを載せてしまえば、Slackの投稿にサムネイル表示されるのか。
— SEM Technology (@SEM_Technology) 2018年8月13日
AppsスクリプトのChart APIでグラフを作り、SlackにアップロードしてPostして、ってやってたけど無駄だった。。。
現在ですとサムネイル表示ができないのでChart APIを使っていただくのもぱっと見で数字確認ができてとても良いと思います。
自社の要望に合わせてご検討ください。