プログラムの途中経過や終了時、エラー時にSlackへ通知を送るGAS(Google Apps Script)プロジェクトです。
- GASプロジェクトのプロパティに以下のキーを設定します。
SLACK_ACCESS_TOKEN
:SlackのアクセストークンSLACK_CHANNEL_TO_POST
:通知先のチャンネル名
- 通知先のチャンネルにSlack Appを追加します。
- プロジェクトをデプロイしてAPIのURLを取得します。
- 自分のプログラムに組み込む際は、
demo.py
を参考にしてください。
APIに送信するデータの形式は以下の通りです。
{
"slackId": string, // SlackのユーザーID(オプション)
"PCId": number, // パソコンを識別するためのID
"flag": "OK" | "NG", // プログラムの状態(OK: 正常、NG: 異常)
"programStart": boolean, // プログラム開始時のフラグ(オプション)
"programEnd": boolean, // プログラム終了時のフラグ(オプション)
"message": string, // メッセージ(オプション)
"replayTs": string // 開始時のタイムスタンプ(途中経過や終了時に使用)
}
注記:
- プログラムの途中経過ではメンションは飛びません。
- プログラム開始時は通常メッセージ、それ以外はスレッド形式で通知されます(終了時はチャンネルにもメッセージが送信されます)。
- メッセージはオプショナルなので、必要に応じて設定してください。
PCId
programStart: true
flag: OK
返される値:
replayTs
(開始時のタイムスタンプ)
PCId
flag: OK
replayTs
(開始時のタイムスタンプ)
PCId
flag: OK
programEnd: true
replayTs
(開始時のタイムスタンプ)
PCId
flag: NG
replayTs
(開始時のタイムスタンプ)
---
- RepositoryのURLをコピーする
- VSCodeのコマンドパレットで
Clone Repository in Container
と入力し、Dev Containers: Clone Repository in Container Volume…
を選択 - コピーしたGitHubのURLをペーストして Enter
pnpm install
pnpm clasp login
- 以下のコマンドを実行(
{projectName}
は別の値に置き換える)
pnpm clasp create --title={projectName}
mv build/.clasp.json .clasp.prod.json
- build/appsscript.jsonをプロジェクトにあわせて修正する
- 特に
oauthScopes
- 必要に応じてdev環境を用意する
- プロジェクトのrootDirに.clasp.prod.json(必要に応じて.clasp.dev.json)を手動で作成する
※ .clasp.prod.jsonの内容は以下の通り{ "scriptId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "rootDir": "build" }
- build/appsscript.jsonをプロジェクトにあわせて修正する