💨

【必見】同一リポジトリで複数のGASプロジェクトを管理する方法

2024/05/28に公開

対象読者

  • 複数のGASプロジェクトを管理している人
  • 効率よくGASを開発したい人
  • ローカルにGASの開発環境を構築したい人
  • GAS初心者

紹介すること

  • 同一リポジトリで複数のGASプロジェクトを管理する方法

対象プロダクトの紹介

https://github.com/D-suke0614/gas-multi_project_template

同一リポジトリで複数のGASプロジェクトを管理するためのテンプレート

社内で同じようなことをしているリポジトリがあったので、そちらを参考に作成

mainブランチにマージされると、CI上で clasp push が行われてGAS上に自動で反映される

# ディレクトリ構成
.
|––Project1 # GASプロジェクト
|   |–– .clasp.json # 対象のGAS IDを管理
|   |__src
|       |––appscript.json # GASのライブラリや設定を管理
|       |__index.js # ソースコード(任意のファイル名でOK)
|__Project2
    |–– .clasp.json
    |__src
        |––appscript.json
        |__index.js

Setup

  1. clone this repository
  2. add clasp
npm install -g @google/clasp
  1. Repository secretsにCLASP_TOKENを設定

clasp loginを実行すると、/home/{username}/.clasprc.jsonが生成されるので、中身を取得する

取得した値をリポジトリ内のRepository secretsにCLASP_TOKENという名前で保存する

clasp login
cat /home/{username}/.clasprc.json

新規GASの作成手順

  1. 新規ディレクトリを作成し、ディレクトリ構成通りにファイルを追加
  2. GAS上で新規プロジェクトを作成し、GASのプロジェクトIDを取得
  3. .clasp.jsonにGASのIDを追加
  4. index.jsにGASのコードを追加

既存GASのリポジトリへの追加手順

  1. 既存のGASを追加するための、新規ディレクトリを作成
  2. cd ./[作成したディレクトリ名]
  3. clasp clone [GAS ID] --rootDir ./src
  4. 必要に応じてディレクトリ構成にあうように、ファイルを動かす
GitHubで編集を提案

Discussion