本体はsrc/で,それ以外は雑多な用途のためのファイル.
- advent_calendar.xlsxを参考に,Googleスプレッドシートを作成
- CSV版: advent_calendar.csv
- スプレッドシートにコピー&ペーストか,インポート
- 登録したいAdventarのtitle, urlを入力 (1行に1つのAdventar)
- スプレッドシートの拡張機能Apps Scriptの画面へ
src/以下のスクリプト(JavaScript)を全てアップロード: エディタ > ファイル > + (ファイルを追加) > スクリプト- ライブラリの登録: エディタ > ライブラリ > + (ライブラリを追加) > Cheerioを追加
- スクリプトプロパティの編集: プロジェクトの設定 > スクリプトプロパティ
sheet_name:<スプレッドシートのシート名>- Slack
- 事前にカスタムインテグレーションから,Incoming Webhookの設定
slack_webhook_url:https://hooks.slack.com/services/~> WebhookのURLをコピー
- Discord
- 事前にサーバ設定 > 連携サービス > ウェブフック > 新しいウェブフックの作成 > ウェブフックURLをコピー
discord_webhook_url:https://discord.com/api/webhooks/~
- これで実行できる
- 定期実行のため,トリガーを追加
ワークフロー: deploy.yml
- clasp,Apps Scriptの認証情報を,Actions secrets and variables (Settings > Secrets and variables > Actions)に登録
- deployブランチにpush,または手動で実行(Actions)
- GitHub Actionsによるデプロイが自動で進行
- 内部では,
clasp push --forceとclasp deploy --deploymentId $DEPLOYMENT_IDを実行 - TypeScriptは
.gsにコンパイル・変換される
- 内部では,
- GAS側の定期実行が必要なら,別途設定
| 認証 | Secrets |
|---|---|
| clasp | ACCESS_TOKEN, REFRESH_TOKEN, SCOPE, TOKEN_TYPE, ID_TOKEN, EXPIRY_DATE, CLIENT_ID, CLIENT_SECRET, REDIRECT_URI, IS_LOCAL_CREDS |
| Apps Script | DEPLOYMENT_ID, SCRIPT_ID |
- ローカルでコーディング
- 手元でコンパイルしたいなら
npm run build
- 手元でコンパイルしたいなら
- developブランチでcommit&push
- 上記自動化により自動デプロイ (ワークフロー: deploy_dev.yml,developブランチへのpushがトリガー)
- 開発専用スプレッドシート&GASに
clasp push&clasp deploy - TypeScriptは
.gsにコンパイル・変換される
- 必要に応じて実験したいときはブランチを切り,専用ブランチでcommit&push,および手動でdeploy_dev.ymlによるデプロイを実行
- 開発が終わったら,develop(とか)->mainのmerge,main->deployのmergeでデプロイへ
This package is open-sourced software licensed under the MIT license.