GASを使って無料でNetlifyのデプロイ通知をGmailへ送る

これはなに Link to this heading

GAS(Google Apps Script)を使って、Netlifyのデプロイ通知をGmail等のメールへ送信する設定をしたときの手順記録。

背景 Link to this heading

Netlifyでは、Proプラン以上でないとEmail Notificationが利用できない。そのため、無料のFree & Starterプランだと、そのままではGmail等へデプロイ通知を送信できない。しかし、GAS(Google Apps Script)を使えば、無料でデプロイ通知をGmail等のメールへ送れる。 本稿はその方法を解説する。

全体の流れ Link to this heading

  1. GAS(Google Apps Script)を作成する
  2. GASをデプロイする
  3. NetlifyのWebhookを作成する
  4. 動作を確認する

手順 Link to this heading

1. GAS(Google Apps Script)を作成する Link to this heading

まず、Google Apps Scriptにアクセスする。

Apps Script  |  Google for Developers's image

Apps Script  |  Google for Developers

Develop high-quality, cloud-based solutions with ease.

script.google.com favicon image script.google.com

アクセスすると下図のような画面が出てくる。

もし、Googleアカウントでログインしていない場合は、ログインする。

GASのトップ画面

画面の左上にある「新しいプロジェクト」をクリックする。しばらくすると、以下のような画面が表示される。

プロジェクト作成直後の画面

次に、画面の左上にある「無題のプロジェクト」をクリックして、プロジェクト名を変更する。ここでは「Netlify Deploy Notification」とする。

名前を変更する

次に、画面の左側にある「コード.gs」をクリックして、以下のコードを貼り付ける。

以下のコードの"your-email-XXXXXXXX@gmail.com"の部分を、実際に受信するGmailアドレスに変更すること。 このまま実行してしまうと、“your-email-XXXXXXXX@gmail.com"に通知が送信されてしまう。
コード.gs
function doPost(e) {
  var json = JSON.parse(e.postData.contents);
  var status = json.state; // デプロイ状態(success, failed など)
  var siteName = json.name;
  var deployUrl = json.admin_url;

  var recipient = "your-email-XXXXXXXX@gmail.com";  // 受信するGmailアドレス
  var subject = "Netlify Deploy Status: " + status;
  var body = "Site: " + siteName + "\n" +
             "Status: " + status + "\n" +
             "Admin URL: " + deployUrl;

  MailApp.sendEmail(recipient, subject, body);
}

2. GASをデプロイする Link to this heading

コードを貼り付けたら、上のバーにある「デプロイ」をクリックし、「新しいデプロイ」を選択する。

新しいデプロイをクリックする

すると、以下のような画面が表示される。

初期の設定画面

左側の「種類の選択」が「ウェブアプリ」担っていることを確認し、「新しい説明文」に適当な名前を入力する。ここでは「Netlify Deploy Notification」とする。

次に、下の「アクセスできるユーザー」を「全員」に変更する。これをしないと、NetlifyからのPOSTリクエストを受け取れない。

設定後の画面

最後に、右下の「デプロイ」をクリックする。すると、以下のような画面が表示される。表示されたURLをコピーして控えておく。

このURLは、NetlifyのWebhookのURLとして使用するので、絶対に他人へ教えないこと。

デプロイ後の画面

3. NetlifyのWebhookを作成する Link to this heading

NetlifyのWebhookを作成する。Netlifyのダッシュボードにアクセスし、対象のサイトを選択する。

Netlify's image

Netlify

Start building the best web experiences in record time

app.netlify.com favicon image app.netlify.com

次に、左側のメニューから「Site configuration」->「Notifications」->「Emails and webhooks」へ移動する。

Netlifyの通知設定画面

ここの「Add notification」をクリックし、「HTTP POST request」を選択する。

「Add notification」をクリックし、「HTTP POST request」を選択する

選択すると以下のような画面が表示される。

Netlifyの通知設定の初期画面

「Event to Listen for」は、通知を受け取るイベントを選択する。たとえば、「Deploy succeeded」を選択すると、デプロイが成功したときに通知を受け取れる。デプロイ開始時なら「Deploy started」を選択する。デプロイ失敗時なら「Deploy failed」を選択する。

「URL to notify」には、先ほどGASをデプロイしたときに表示されたURLを貼り付ける。

「JWS secret token (optional)」には、特に何も入力しなくて良い。

Netlifyの通知設定をしたあとの画面の例

最後に、左下の「Save」をクリックして保存する。すると、「Emails and webhooks」の「Deploy notifications」にフックが追加される。

通知のフックが追加された

4. 動作を確認する Link to this heading

Netlifyのダッシュボードに戻り、デプロイを実行する。デプロイが完了すると、Gmailに通知が届く。

Gmailに通知が届いた

まとめ Link to this heading

GASを使えば、Netlifyの無料プランでも、デプロイ通知をメールで受け取れる。

参考文献・URL Link to this heading

Apps Script  |  Google for Developers's image

Apps Script  |  Google for Developers

Develop high-quality, cloud-based solutions with ease.

script.google.com favicon image script.google.com
Licensed under CC BY-NC-SA 4.0
最終更新 5月 08, 2025
Hugo で構築されています。
テーマ StackJimmy によって設計されています。