LoginSignup
0
0

More than 1 year has passed since last update.

SlackのBot通知を任意の条件の日で実装させてみる Part.2 Google Apps Scriptへの関数アップロード

Last updated at Posted at 2022-07-31

はじめに

今日は連日投稿します、中の人です。
前回からシリーズものとして書いているいろいろいじってみたときのお話の第2弾になります。
前回、記事に落とし込む〜なんてたいそうな口を叩いていましたが、今回からはどちらかというと自分用への備忘としてのメモ要素が一気に爆上がりします。
でも、ここからは使用ツールの癖もあったりするからこんなくらいの書きっぷりが参考になると嬉しいな。

全3回のシリーズものです。
それぞれ、こんな内容でやっていきます。

やりたいことや使用ツールなどの前提条件は、前回の記事に記載があるのでご参照ください。

大枠の流れ

大枠の流れはそれぞれ以下のようになります。

  1. Googleアカウントへのログイン
  2. Google Driveでの新規Google Apps Scriptの作成
  3. Google Apps Scriptへの反映と反映済スクリプトの実行

それぞれ順番に手順を記載していきます。

Googleアカウントへのログイン

スクリプトをアップロードする先となるアカウントへ、ログインする(こちらは通常のGmailへのアクセス等と同じなので割愛します)。

Google Driveでの新規Google Apps Scriptの作成

順番に手順を追っていきます。
Googleアカウントにログインしたあと、Google Driveにアクセス。
完了したら、『新規』>『その他』>『Google Apps Script』を選択。
以下画面が表示されれば、Google Apps Scriptの新規作成が完了します。
スクリーンショット 2022-07-31 23.32.24.png

Google Apps Scriptへの反映と反映済スクリプトの実行

ローカル環境で実装した通知日時判定ロジックとなるJavaScript側コードを貼付し、任意の関数名、プロジェクト名を設定すれば実装自体は完了します。
スクリーンショット 2022-07-31 23.34.54.png
あとは、画面内『実行』ボタンを押下し、実行が正常に完了
スクリーンショット 2022-07-31 23.34.54.png
実行ログとして以下がそれぞれ表示されれば問題なく関数が動くようになったことが確認できます。

Slack通知対象日だった場合

スクリーンショット 2022-07-31 22.33.16.png

Slack通知対象外日だった場合

スクリーンショット 2022-07-31 22.33.42.png

参考:関数実行トリガーの設定

実装した関数は、Google Apps ScriptのGUI操作によって時間単位でのトリガー設定ができます。
このトリガー設定によってトリガーを別途実装する必要なく簡単に時間単位での定期実行を定義、実現させています。
手順としては、
プロジェクト左ペイン『トリガー』>『トリガーを追加』で以下ダイアログが表示、実行したい情報を入力
となっています。
スクリーンショット 2022-07-31 23.54.01.png

触ってみた感想

Google Apps Scriptのような簡易的な関数のアップロードと実行トリガーの設定自体はAWSのLambda関数で設定していましたが、AWSと比較するとcloudfrontに入ってバージョン指定を含めて設定したいディストリビューションのビヘイビアに反映させ、トリガーを実装させなければならない手間が簡単にGUI操作による時間指定で済む観点から考えると圧倒的に楽に関数の実行まで実現できるなぁと思いました。
まぁもちろん、AWSで触ったLambda関数/cloudfrontはアプリケーションでの指定操作をトリガーにしているのでより複雑なトリガーを実現でき、やはり同じ土俵で比較はしてはいけないとは思いますがこれくらいの関数の実装なら工数も削減できるのでコスパは充分高いといえるのではないでしょうか。

さて、次回はいよいよ最終回、Slackとの連携です。
お楽しみにー続く!

0
0
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
0
0