返回 Skill 列表
extension
分类: 开发与工程无需 API Key

gas-clasp-ops

通过clasp操作Google Apps Script (GAS) 项目的技能。批量或单独执行push(代码更新)、deploy(部署)、run(函数执行/测试)。自动检测含有.clasp.json的项目,以提高多项目管理效率。触发词: GAS, clasp, 部署, push, 测试运行, Apps Script, 脚本更新 使用示例: “部署GAS”、“用clasp进行push”、“测试GAS函数”、“对所有项目进行push”

person作者: jakexiaohubgithub

GAS clasp 操作スキル

Google Apps Script プロジェクトを clasp CLI で一括操作するためのスキル。

前提条件

# clasp のインストール(未インストールの場合)
npm install -g @google/clasp

# Google アカウントでログイン(初回のみ)
clasp login

クイックスタート

# 全プロジェクトを push
python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py push

# 特定プロジェクトを push → deploy
python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py push deploy --project work/10.X-Calendar-GAS

# 関数を実行(テスト)
python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py run --project work/10.X-Calendar-GAS --function myFunction

# dry-run で確認
python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py push --dry-run

コマンド

| コマンド | 説明 | |---------|------| | push | ローカルコードを GAS に反映 | | deploy | 新しいバージョンをデプロイ | | run | 指定した関数を実行(--function 必須) | | status | デプロイ一覧を表示 | | open | GAS エディタをブラウザで開く |

オプション

| オプション | 説明 | デフォルト | |-----------|------|-----------| | --project PATH | 対象プロジェクト(複数指定可) | 全プロジェクト | | --function NAME | 実行する関数名(run 時必須) | - | | --dry-run | 実行せず確認のみ | false | | --base-dir PATH | 検索ベースディレクトリ | ワークスペースルート |

検出対象

.clasp.json を含むディレクトリを自動検出:

  • work/10.X-Calendar-GAS/
  • work/03.AiTutor/session_workshop/03.gas/samples/clasp-slides-generator/
  • work/03.AiTutor/session_workshop/03.gas/samples/clasp-weather-recorder/

実行例

プロジェクト一覧を確認

python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py --list

出力例:

📂 検出されたプロジェクト (3 件):
  - work/03.AiTutor/.../clasp-slides-generator (scriptId: 1uIfFp1vuV...)
  - work/03.AiTutor/.../clasp-weather-recorder (scriptId: 1O6SBnHgY-...)
  - work/10.X-Calendar-GAS (scriptId: 1qLnnrFfzX...)

全プロジェクトを push → deploy

python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py push deploy

特定プロジェクトで関数実行(テスト)

python .claude/skills/gas-clasp-ops/scripts/clasp_ops.py run \
  --project work/10.X-Calendar-GAS \
  --function processUnreadTweets

トラブルシューティング

| エラー | 原因 | 対処法 | |--------|------|--------| | Not logged in | clasp 未ログイン | clasp login を実行 | | Script API disabled | GAS API 無効 | GAS API で有効化 | | Permission denied | OAuth スコープ不足 | appsscript.json に必要なスコープを追加 | | Function not found | 関数名が不正 | GAS エディタで関数名を確認 |

注意事項

  • clasp run は GAS API を有効化し、OAuth スコープの設定が必要
  • デプロイ前に必ず push でコードを反映すること
  • エラー発生時は対象ごとにログを出力し、処理は継続
  • タイムアウトは 120 秒に設定(長時間処理は GAS エディタから実行推奨)