GASからIncoming Webhooksでslackに通知を投げる
はじめに
最近はほとんどの開発でslack使ってますね。
その際に色々なことを自動化してその結果をslackに通知したくなる時があります。
今回は、Google Apps Script(GAS)からslackに Incoming Webhooksを用いて通知を投げるコードについてお話しします。
Incoming Webhooks
Incoming Webhooks are a simple way to post messages from external sources into Slack
要するに、Slackに簡単にメッセージを飛ばすために手法です。現状だとjsonを利用した普通のHTTP Requestで実現されています。
設定もとても簡単です。
- 次のリンクに自分のチーム名を入れてページを開く
(https://{チーム名}.slack.com/apps/A0F7XDUAZ-incoming-webhooks) - Add Configurationボタンを押す
- 送信先のchannelを指定する(ここと違うchannelにも送れる模様)
- Add Incoming WebHooks integrationボタンを押す
Webhook URL
をメモっておく
これだけで,基本設定はできています。
動作確認はIncoming WebhooksのCURL EXAMPLE
で、先ほどメモしたWebhook URL
に置換すれば確認取れます。
Google Apps Script
GASの説明はここでは省いて、とりあえず新規作成する方法について書きます。
- Google Driveを開く
- 左上の新規ボタンをマウスオーバー
- その他をマウスオーバー
- Google Apps Scriptがあったら選択、なかったら追加から追加して選択
これでGASファイルが生成されます。
なお、スプレッドシートに紐付いたGASを作成したい場合は、スプレッドシートを開いている状態で、ツール>スクリプトエディタを選択するとGASが開かれます。
Slackに通知するテンプレート
Slackに投稿するBotをGASで作るテンプレを利用すると動きます。
GASの実行
関数を選択
から実行したい関数を指定する- 三角の実行ボタンを押す