---
# System prepended metadata

title: GAS用 github運用方法(Github Flow)

---

# GAS用 github運用方法(Github Flow)

## 開発用Googleアカウント
こちらのGoogleアカウントでGASの開発を行なってください。
```
ID: nishi@orgiast.jp
Password: keiken44 
```
※初回ログイン時に認証が必要なので、認証必要時にGASチームでご連絡ください。


## ファイル構造
```
Repository
│
├── .github
│   └── workflows
│       └── deploy.yml
├── src
│   ├── appsscript.json
│   ├── *.js
│   └── *.js
├── .clasp.json
└── その他（.claspignore, .gitignore, README.md）

```

## 利用ツール
- clasp (参考：[公式](https://github.com/google/clasp))
- github（[URL](https://github.com/system-team-orgiast)）

## 利用ブランチ
- main
- 作業用ブランチ（複数）
    - 1要件1ブランチ
    - ブランチ名 ( feature/{機能名} )
- ~~develop~~(コストが増えるためカット)

## ルール(Github Flow)
1. mainブランチは常にデプロイ可能である
2. 作業用ブランチをmainから作成する
3. 作業用ブランチを定期的にプッシュする
4. プルリクエストを活用する
5. プルリクエストが承認されたらmainへマージする
6. mainへのマージが完了すると自動デプロイされる (Github Actions)
7. mainブランチとgoogleドライブのソースコードは、常に同期

※ローカルでclasp pushを使って、本番環境でテストを行う場合などは、下記画像の`Run workflow`をクリックしてmainブランチからGASへのデプロイを行なっておいてください
![](https://i.imgur.com/S7xHJkj.png)

<!-- ## 開発フロー
### gitにリポジトリがある場合
1. github clone
2. 上記のGithub Flowに従い開発

### gitにリポジトリがない場合
1. clasp clone
2. [ファイル構造](https://hackmd.io/AdCAbjDQSVa670eczTpMig?view#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%A7%8B%E9%80%A0)を上記のように整形
3. githubに**ブライべートリポジトリ**を作成して、push
4. 上記のGithub Flowに従い開発

※**補足** 自動デプロイは、別リポジトリにも利用している.githubのファイルを移植して、Action Secretに、ローカルの~/.clasprc.jsonのデータを [ACCESS_TOKEN, ID_TOKEN, REFRESH_TOKEN, CLIENT_ID, CLIENT_SECRET] に分けて設定する必要があります

ES6を使いましょう
varよりconst, let
for,eachよりfilter, map, 
forでシートAPIを毎回叩くのは非効率かつ時間制限があるため、よくない

---



 -->
