ABCABC Tech Catalog
夏の長期インターン参加学生募集中!詳細はこちら

GitHubでGASコード管理しようとしたらActionsに怒られました。

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

すると、、、

file1

無事にデプロイ完了&GASエディタ上での変更も確認!

まとめ


GASはコード管理ができないイメージから避けられがちですが、弊社のようにGoogleワークスペースがベースの会社では有用なツールであることは間違いないかと思います。活用される際は一定のルール(エディタ上で直接編集しない)などを設けて快適なGASライフを!

AUTHOR

橋本 隼佑

朝日放送テレビ株式会社 技術局 技術開発部

新卒入社から2年半マスターでTVの運用監視業務を担当。2024年11月にDX・メディアデザイン局 SDチームに配属され周囲のタイピング速度に圧倒され中…

WORK@ABC

技術力を培うための
環境と文化

ABCに昔から根付く「自分たちで開発する」文化を支える環境や取り組みをご紹介します
ABCについてもっと知る