GASでSlack通知を自動化する方法

Google Apps Script(GAS)を使用してSlack通知を自動化する方法について解説します。GASとSlackの連携により、重要な情報を即座にチームと共有することができます。この記事では、GASでSlack通知を設定し、自動化する手順を具体的に説明します。

 

moun45.hatenablog.com

 

Google Apps Scriptとは?

Google Apps Script(GAS)は、Googleのサービス(Google Sheets、Google DriveGmailGoogle Calendarなど)を自動化・拡張するためのJavaScriptベースのスクリプト言語です。GASを使うことで、業務効率化やデータ連携が容易に行えます。

SlackのWebhook URLを取得する

まず、Slackに通知を送信するためのWebhook URLを取得する必要があります。以下の手順で取得します。

  1. Slackの管理画面にアクセス:Slackにログインし、管理画面にアクセスします。
  2. アプリの作成:SlackのApp Directoryから「Incoming WebHooks」を選び、「Add to Slack」をクリックして新しいWebhook URLを作成します。
  3. Webhook URLの設定:通知を送りたいチャンネルを選び、Webhook URLを取得します。このURLは後でGASで使用します。

Google Apps ScriptでSlack通知を設定する

次に、Google Apps Scriptを使ってSlack通知を設定します。以下のスクリプトを使用して、Slackにメッセージを送信することができます。

  1. スクリプトエディタの起動
function sendSlackNotification(message) {
var webhookUrl = 'your-webhook-url'; // 取得したWebhook URLをここに入力
var payload = {
'text': message
};
var options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(webhookUrl, options);
}

このスクリプトは、指定したメッセージをSlackに送信する基本的な関数です。your-webhook-urlの部分に、先ほど取得したWebhook URLを入力します。

Google Sheetsと連携して通知を自動化する

GASとGoogle Sheetsを連携させて、特定の条件に基づいてSlack通知を自動化することができます。以下のスクリプトは、Google Sheetsの特定のセルに変更があったときにSlackに通知を送信する例です。

function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
// 通知を送信する条件を設定(例:セルA1の変更)
if (sheet.getName() === 'シート1' && range.getA1Notation() === 'A1') {
var newValue = range.getValue();
var message = 'セルA1の値が変更されました: ' + newValue;
sendSlackNotification(message);
}
}

function sendSlackNotification(message) {
var webhookUrl = 'your-webhook-url'; // 取得したWebhook URLをここに入力
var payload = {
'text': message
};
var options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(webhookUrl, options);
}

このスクリプトでは、シート名が「シート1」で、セルA1の値が変更されたときに、変更後の値を含むメッセージをSlackに送信します。

トリガーを設定して自動化

Slack通知を自動化するために、Google Apps Scriptでトリガーを設定します。以下の手順で設定します。

  1. トリガーの設定
    • スクリプトエディタの左側メニューから「時計」アイコン(「トリガー」)をクリックします。
    • 「トリガーを追加」ボタンをクリックします。
    • 「関数を選択」でonEdit関数を選び、「イベントの種類を選択」で「編集時」を選びます。
    • 「保存」をクリックして設定を完了します。

これで、Google SheetsのセルA1が変更されるたびに自動的にSlackに通知が送信されるようになります。

まとめ

Google Apps Scriptを使用することで、Slack通知を簡単に自動化することができます。Webhook URLを設定し、GASでスクリプトを作成することで、特定の条件に基づいてSlackにメッセージを送信することが可能です。トリガーを設定することで、通知の自動化がさらに進み、業務効率化が図れます。

参考リンク

このガイドを参考にして、GASを使ったSlack通知の自動化を始めてみてください。業務の効率化や情報共有が大幅に向上します。

 

moun45.hatenablog.com

moun45.hatenablog.com