Google スプレッドシートで構築する予定調査の更新を自動化するツール
A 列に日付を含むシートについて、過去の日付の行を削除し、MAX_DAYS_LENGTH
(コード内で定義する変数)日先までの行を追加する。
1 枚目のシートをoverview
とし、当日に活動予定があれば Slack の Webhook 経由でリマインドする。
- ヘッダ行で
活動
の文字がある行を活動予定、それ以降の列を個人の予定列とする。 - 1 列目を日付列とし、当日の日付がある行のうちもっとも上にあるものをピックアップする。
- 活動予定行に記載があれば、個人の予定と合わせてリマインドする。
Webhook の URL、ユーザー名取得のためのBot User OAuth Tokenは Web アプリとしてデプロイすると設定が可能。
Google Apps Script 上で動作する。トランスパイルとデプロイに Node.js および@google/clasp
を使用する。
yarn
Apps Script プロジェクトを準備し、以下の内容の.clasp.json
を作成してローカルのリポジトリを接続する。
{
"scriptId": "YOUR_SCRIPT_ID",
"rootDir": "src"
}
プロジェクト ID は以下の手順で確認できる。
- スプレッドシートの編集画面から ツール -> スクリプト エディタ と進み、Apps Script プロジェクトを開く。
- URL
https://script.google.com/home/projects/[PROJECT_ID]
よりプロジェクト ID を確認する。
clasp push
必要な機能の関数にトリガーを設定することで、時間ベースで自動的に実行させることができる。
clasp へのログインができていない。clasp login
でログイン操作をする。