ABCでは社内にGoogleワークスペースを導入しており、社内資料の多くはスプレッドシートとかスライドで作成されています。
となるとGASの有用性も必然的に上がるわけなんですが、GASは基本的にはファイルに紐づいて動くので管理が難しく、ファイルが増えれば増えるほど管理も煩雑になってしまうのが難点でした。
今回、自分の部署異動をきっかけにGASのコード管理を本気でやらないとまずい(引き継げない!)となり、いろいろ調べてできるようになったので備忘録的にまとめてみます!
事前準備
GASコードのGitHub管理まではこの二つの記事が大変参考になりました🙇♂️
Actionsに怒られたところ
今回は大きなプロジェクトの中でいくつかのGASファイルを管理したかったのでフォルダの構成は以下のように設定しました。
. └── repository/ ├── .github/ │ └── workflows/ │ ├── gas_deploy.yml │ ├── workflow1.yml │ └── ... ├── gas/ │ ├── gas_project1/ │ │ ├── src/ │ │ │ ├── appsscript.json │ │ │ └── コード.gs │ │ └── .clasp.json │ ├── gas_project2 │ └── ... ├── project1 └── ...
諸々コードを整えていざgit pushをしてみると
No valid /home/runner/work/.clasp.json project file. You may need to `create` or `clone` a project first.
というエラーが。
GitHub Actionsが.clasp.jsonの位置を見つけられていないようでした。
なのでこの記事を参考にworkflowファイルの一部を以下のように修正。
//修正前 on: push: branches: - main paths: - 'gas/gas_project1/**' workflow_dispatch:
//修正後 on: push: branches: - main paths: - 'gas/gas_project1/**' workflow_dispatch: defaults: run: working-directory: gas/gas_project1
すると、、、
無事にデプロイ完了&GASエディタ上での変更も確認!
まとめ
GASはコード管理ができないイメージから避けられがちですが、弊社のようにGoogleワークスペースがベースの会社では有用なツールであることは間違いないかと思います。活用される際は一定のルール(エディタ上で直接編集しない)などを設けて快適なGASライフを!