Skip to content

matchaism/adventar_bell

Repository files navigation

Adventar Bell

adventar Google Sheets Google Apps Script slack discord clasp License: MIT

deploy

Usage

本体はsrc/で,それ以外は雑多な用途のためのファイル.

  1. advent_calendar.xlsxを参考に,Googleスプレッドシートを作成
    • CSV版: advent_calendar.csv
    • スプレッドシートにコピー&ペーストか,インポート
  2. 登録したいAdventarのtitle, urlを入力 (1行に1つのAdventar)
  3. スプレッドシートの拡張機能Apps Scriptの画面へ
  4. src/以下のスクリプト(JavaScript)を全てアップロード: エディタ > ファイル > + (ファイルを追加) > スクリプト
  5. ライブラリの登録: エディタ > ライブラリ > + (ライブラリを追加) > Cheerioを追加
  6. スクリプトプロパティの編集: プロジェクトの設定 > スクリプトプロパティ
    • sheet_name: <スプレッドシートのシート名>
    • Slack
      1. 事前にカスタムインテグレーションから,Incoming Webhookの設定
      2. slack_webhook_url: https://hooks.slack.com/services/~ > WebhookのURLをコピー
    • Discord
      1. 事前にサーバ設定 > 連携サービス > ウェブフック > 新しいウェブフックの作成 > ウェブフックURLをコピー
      2. discord_webhook_url: https://discord.com/api/webhooks/~
  7. これで実行できる
  8. 定期実行のため,トリガーを追加

GitHub Actionsによるclaspを利用した自動デプロイ

ワークフロー: deploy.yml

  1. clasp,Apps Scriptの認証情報を,Actions secrets and variables (Settings > Secrets and variables > Actions)に登録
  2. deployブランチにpush,または手動で実行(Actions)
  3. GitHub Actionsによるデプロイが自動で進行
    • 内部では,clasp push --forceclasp deploy --deploymentId $DEPLOYMENT_IDを実行
    • TypeScriptは.gsにコンパイル・変換される
  4. 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でデプロイへ

License

This package is open-sourced software licensed under the MIT license.

About

Adventarの記事投稿をSlack,Discordに通知

Topics

Resources

License

Stars

Watchers

Forks