【GAS】【Git】GASをGitで管理する方法。

Google Apps Script (以下、GASとする。)はWeb上の開発環境に保存されており、 バージョン管理がしにくく、保存が消えてしまうのではと思いの方も中にはいるのではないのでしょうか。
私は、ぼーっとしてて削除したことがあり、そのあと、お酒に逃げたことがあります。 今回の方法を使用すると、Gitで管理でき、ローカル環境で開発もできるので便利です。

claspとは

claspとは、GASを操作できるCLIツールらしい。 詳しくはよく知らないです。 ローカル環境にプロジェクトをクローンするために使用します。

claspインストール

1.npmのインストール

Node.jsのパッケージ管理ツール、claspをインストールするために使用する。
以下のサイトからNodeJSをインストールします。 nodejs.org

2.claspをインストールする。

以下のコマンドでclaspをインストールします。

npm i @google/clasp -g

3.claspを有効化する。

claspを使用できるようにGoogle Apps Script APIを押下し、ONに変更する。 script.google.com

4.claspにログイン

以下のコマンドでclaspにログインする。

clasp login

ログインするとWebブラウザが立ち上がるので、権限を確認して許可する。

gitで管理

1.クライアントにGitをインストールする。

クライアントの端末にGitをインストールしておく。

2.プロジェクトをクローンする。

プロジェクトの上部にある [ファイル] -> [プロジェクトのプロパティ] ->  [スクリプト ID] をコピーする。 以下のコマンドで対象のプロジェクトをクローンします。

clasp clone  [スクリプト ID]

すると、ローカルにプロジェクトに紐づくスクリプトファイルがクローンされます。 ここまですると、ローカル環境で開発することができます。

ちなみに、ファイル名に/を入れるとローカルではディレクトリ以下にファイルが保存されます。

  • 【例】 GAS上の名前がsrc/test.gsの場合
    ローカル環境ではsrcディレクトリ配下にtest.gsが作成されます。
    アカウントやパスワード情報の大事なファイルをディレクトリに分けて管理する場合などに便利です。

3.Gitで管理しないファイルを.gitignoreに記載する。

claspでクローンすると以下、2つのファイルが生成されます。

  • .clasp.json
    スクリプトIDが記載されてる。

  • appsscript.json
    アクセス権などの情報が記載されてる。

Gitで管理する場合は好ましくないので .gitignore を作成し、記載してください。

clasp.json
appsscript.json

4.GitHubにプロジェクトを作成し、ファイルをコミットする。

これで、GASをGitでバージョン管理できます。