以前、
少し
作成する モチベーションと Slackでの メールの 通知方法
何故GASで
作成する モチベーション(Slackの 無料版は メール転送の 敷居が 高い)
個人で
元々
Slackでの メール通知方法
Imcoming WebHooksを
ワークスペース の
メール転送機能を 使う Gmailに
受信した 特定メールのみを Slackに 通知する 方法 | RE:WORKSTYLE(リワークスタイル) これを
実施すると、 ダイレクトメッセージと して メール転送が 行えるようです。 チャンネルごとに
メールアドレスを 発行し、 送信する 無料版では
ボタンが 押せなかったのですが、 チャンネルごとに メールアドレスを 発行する ことができるようになりました。 これは、 スタンダードプラン以上で 使用できる 機能なのかもしれません。 Slackの
メールアプリを 使用する。
一度試したらクセに なる メールを slackに 転送する 方法 - Qiita スタンダードプラン以上での
利用と なりますが、 メール転送用の アプリケーションが ありこの アプリケーションで チャンネルごとに メールの 転送が できます。 Zapierで
連携する
一度試したらクセに なる メールを slackに 転送する 方法 - Qiita メールアプリの
説明記事と 同様ですが、 この 記事に Zapierでの 連携方法が 記載されています。 IFTTTでの
転送と 似たようなことができます。
gas-Gmail2SlackV2の 使い方
以下、
個人的に
この記事では
- スプレッドシート を
コピーして 使用する 方法 - Github リポジトリを
Cloneして、 セルフビルドする 方法 - ビルド済の
リソースを コピーして 使う 方法
スプレッドシート を コピーして 使用する 方法
まず、
コピー元の
スプレッドシート
以下が、コピー元の スプレッドシートに なります。 初期設定
の設定シート作成
は実施済です。 許可する
必要の ある 権限
以下の権限が スクリプト実行に 必要に なります。 Slack への
通知イメージ
設定後に以下のような イメージの メッセージが 通知されます。 Github リポジトリを
Cloneして、 セルフビルドする 方法 kemsakurai/gas-Gmail2SlackV2: Container binding script to notify Slack by Gmail label (using a new method, Incoming Webhooks). を
Clone して ビルドする 方法を 説明します。 clasp の
インストール コンテナバインドスクリプトを
デプロイする ため、 clasp を インストールする 必要が あります。 clasp の インストールは 以下の 記事が 参考に なるかと 思います。 GAS の
Google謹製CLIツール clasp - Qiita - clasp の
インストール
npm i @google/clasp -g
- clasp login
clasp login
Git リポジトリを
clone、 新規で スプレッドシート を 作成、 Google Apps Scriptを ビルドして Pushする。 - git clone
git clone https://github.com/kemsakurai/gas-Gmail2SlackV2.git <project_name>
- npm install
cd <project_name> npm install
- スプレッドシート を
新規作成 スプレッドシートを 新規で 作成する 場合は、 npm run setup
を実行します。 コマンド実行で、 .clasp.json の 初期化、 スプレッドシート が 作成されます。
npm run setup
- コンテナバインドスクリプトを
デプロイ
npm run deploy
これで、
gas-Gmail2SlackV2
という メニューが スプレッドシート 上に 作成されます。 ビルド済の
リソースを コピーして 使う 方法 GSuite の
セキュリティ設定で、 公開スプレッドシート の コピーが できない 場合、 且つ、 ビルド、 デプロイが 面倒に 感じるのであれば、 gas-Gmail2SlackV2/dist at master · kemsakurai/gas-Gmail2SlackV2 の リソースを コンテナバインドスクリプトと して コピーしても 使うことができます。 ディレクトリ配下の、
appsscript.json、 bundle.js、 index.html で スクリプトエディタで、 同名ファイルを 作成して 保存すれば、 問題なく 使用できます。 - clasp の
使い方
使用方法に
Incoming Webhooks を 有効化、 URLを 取得、 設定する
Incoming Webhooks の
- Incoming Webhooks の
有効化
Slack のチャンネルに 通知するには、 Incoming Webhooks を 使います。 現状、 旧方式の Incoming Webhooks と、 新方式の Imcoming Webhooks が あり、 この スプレッドシートは 新方式で 動作します。 slackの Incoming webhookが 新しくなっていたのでまとめてみた - Qiita
Config シートに 通知対象の Gmail情報と、 通知先の WebhookURLを 入力する。
Configシートの
Tag
1行コメントを記載します。 Slackへは タグ
として 通知されます。 - 入力例 Google Search Console
Webhook URL
通知先のSlackの チャンネルに 対応する Webhook URLを 入力します。 SendTo
送信先のSlackの アカウントIDを 入力します。 入力例
@UDJ6E61JL
Message body length
メール本文の長さを 記載します。 タイトルのみ 表示に したい 場合は、 0
を入力すると タイトルのみにできます。 入力例
1000
Query
Gmail の検索クエリを 設定します。 Google Apps Script 側で Slack 送信した メールを 既読に するので、 is:unread
を付与すると Slackの チャンネルに 通知していない メッセージのみ 通知されます。 Gmail で 使用できる 検索演算子 - Gmail ヘルプ に どんな 検索演算子が 使用可能かは 記載されています。 - 入力例
is:unread label:google-search-console
- 入力例
スケジュール実行の 設定
メニューの、gas-Gmail2SlackV2
から初期設定
、スケジュール実行
を
例えば、every hour
を
説明は
slackの
以上です。
コメント