6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ワークフローを使ってGASからSlackへ通知を送る方法

Last updated at Posted at 2023-12-04

はじめに

この記事は「Ateam LifeDesign Advent Calendar 2023」で完走賞を狙って25記事書いているうちの5日目の記事です。今年も完走目指して頑張るぞ!

GASとSlackの連携

昨日はIncoming Webhookを使ってGASからSlackにメッセージを送信する方法についてまとめました。今日はワークフローを作ってそれをGASから呼び出すことで送信する方法についてまとめていきます。

作るもの

GASを実行するとSlackに通知するようにします。

準備

ワークフローの作成

このワークフローを使った方法ではSlackに登録しているメールアドレスをGASから指定してそれをキーにしたメンションを送ることが出来るので単にメッセージを送るだけではなく、メールアドレスを指定することでメンションをする方法も併せて見ていきましょう。

Slackのアプリから「自動化」を選択。

スクリーンショット 2023-11-24 20.52.04.png

右上の「+」をクリックすることで新規ワークフローの作成を開始します。

スクリーンショット 2023-11-24 20.53.33.png

今回は作ったワークフローをGASからWebhook呼び出しするので「Webhookから」を選択。

スクリーンショット 2023-11-24 20.54.03.png

ここからはメールアドレスを使ってメンションをするための設定です。「変数を設定する」をクリック。

スクリーンショット 2023-11-24 20.54.43.png

キーは任意の文字列で(今回は「email」)データタイプを「Slackユーザーのメールアドレス」とするのがポイント!

スクリーンショット 2023-11-24 20.56.04.png

通知を送りたいチャンネルを選択肢送信するメッセージを記入します。メッセージを追加する際に「変数を挿入する」から先程設定した「email」を選択するとこれをメンションとして取り扱うことが出来ます。

スクリーンショット 2023-11-24 21.12.32.png

今回はこんな感じのメッセージにしました。

スクリーンショット 2023-11-24 21.35.36.png

作ったワークフローの公開をしていきます。

スクリーンショット 2023-11-24 21.36.28.png

ワークフローに名前をつけて

スクリーンショット 2023-11-24 21.37.19.png

共有設定を必要に応じて変更し「公開する」を選択します。

スクリーンショット 2023-11-24 21.37.58.png

そして出来上がったWebhookのURLをコピーしておきます。

スクリーンショット 2023-11-24 21.39.14.png

スクリプトプロパティにURLを登録する

昨日の記事と同様の手順で、上記で取得したURLをスクリプトプロパティに保存しておきます。

スクリーンショット 2023-11-24 21.47.19.png

GASを書いていく

function myFunction() {
  const url = PropertiesService.getScriptProperties().getProperty("TEST_URL");
  const params = {
    email: 'hoge@example.com' // メンション先アカウントの登録メールアドレス
  };  

  const options = {
    method: 'POST',
    headers: { 'Content-type': 'application/json' },
    payload: JSON.stringify(params),
  };
  UrlFetchApp.fetch(url, options);
  
}

こうしてやることでwebhookを使って登録されたワークフローを起動させることが出来ます。またemailでパラメータとしてメンションしたいアカウントのSlack上の登録メールアドレスを指定することで、ワークフロー内でメンションに変更して送信することが出来ます。このコードの実行結果がこちら。

スクリーンショット 2023-11-24 21.53.18.png

ちゃんとメールをキーとしてメンションが出来ていることが確認できますね。

最後に

今回はワークフローをつかってSlackにメッセージを送信する方法についてまとめました。昨日紹介したIncoming Webhookを使うパターンでもワークフローをWebhookとして呼び出すパターンでも比較的コードは少量でGASからSlackへの通知が送れることが確認できました。便利!

明日はGASとGoogleカレンダーの連携についてまとめていきます。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?