Google Apps Script GitHub アシスタントセットアップ

# 概要
ローカルPCで開発した GAS のスクリプトを Google Drive に反映する方法としては3パターンあります。
1. 手動でソースをコピペ
1. clasp コマンドで反映
1. GitHub から Google Apps Script GitHub アシスタントを使って反映

開発時と本番リリース時で方法を変えるなど、運用手法としての議論はここでは置いておきまして、
パターン3 の環境構築について説明します。

# １，GitHub アクセストークン発行
https://github.com/settings/tokens にアクセスします。
`Generate new token` のプルダウンから `Generate new token (classic)` を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/98c713a3-f77d-5068-4bfa-48f98a744833.png)
次のように入力します。
| 項目 | 設定値 |
|:-:|:-|
| Note | トークンの名称。日本語でOK。<br>自分しか見ることはありません。<br>（例）Google Apps Script GitHub アシスタント用 |
| Expiration | トークンの有効期限。<br>90日くらいが無難。無期限もあります。<br>期限切れ前にメール通知してくれます。 |
| Select scope | `repo` と `gist` にチェックを付ける |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/c96e4477-6018-859c-49a1-eda81d864ece.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/42050255-abba-de9c-7fcc-842b02d0d3d7.png)

`Generate token` ボタンをクリックします。
表示されたアクセストークンは後から確認することができませんのでメモしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/17b219fc-5aa6-9178-3be2-2184043fb8bc.png)

# ２，Chrome拡張機能のインストール
Chrome拡張機能 [【Google Apps Script GitHub アシスタント】](https://chrome.google.com/webstore/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo?hl=ja) を画面に従ってインストールします。

# ３，Google Apps Script GitHub アシスタントの認証設定
オプションのダイアログを開きます。（オプションの開き方は何通りかあります）
`username` に GitHubアカウント名を、`github access token` に先ほどメモしておいたアクセストークンを入力し、 `GITHUB LOGIN` ボタンをクリックします。
Google の認可ダイアログが表示されることがありますので、許可してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/42c6b8f1-6957-91c6-7168-f58dafff4aab.png)
`アカウント名` と `LOGOUT` ボタンが表示されていればOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/e66afa5b-b1ed-f039-eee5-8ecc9c9b31cc.png)

# ４，Google Apps Script API をオンにする
デフォルトではオフですので、オンに変更してください。
https://script.google.com/home/usersettings
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/45827808-2c65-d606-a824-63246c98fff2.png)


:::note info
ここまででセットアップは完了です。
以下簡単に使い方を説明します。
:::

# Google Apps Script GitHub アシスタントの使い方
正しくセットアップが完了すると、
スクリプトエディターのツールバー右側に各種操作ボタンが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/2651d801-f863-8521-f3be-5d26b2f8e495.png)

## 設定
歯車マークをクリックすると設定ダイアログが開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/1c7936ac-d250-b54e-20aa-39605dc4c775.png)

- Sync type
    - GitHub上で管理している拡張子に合わせて `.gs` もしくは `.js` を選択します。
- Ignore file patterns
    - 同期対象外のファイル名を正規表現で設定します。
    - スクリプトファイルとHTMLファイル以外は標準で除外されますのでここで指定する必要はありません。
- Manage manifest file
    - appsscript.json を同期対象にする場合はチェックを付けます。

この設定は GASプロジェクトごとに設定されるため、新たなプロジェクトで作業される際はその都度設定を確認しましょう。

## リポジトリとブランチを選択
操作対象の GitHub リポジトリとブランチを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/3f2d1e7b-961f-2a48-4d81-c1b3000cfc61.png)

## GitHub から pull
GitHub のスクリプトを反映したい場合は `↓` ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/ec518a34-138a-a05d-b105-ed5048426bca.png)

ローカルとの差分がダイアログとして表示されますので、反映するファイルのみチェックを付けて `Pull` ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/4246fec9-777a-2817-171d-aa7f9faf11ef.png)

## GitHub へ push
ローカルのスクリプトを GitHub へ反映したい場合は `↑` ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/7ea8ddb7-a44c-89e7-22cc-fde79b8744ff.png)

pull の場合と同じように差分ダイアログが表示されますので、反映するファイルのみチェックを付け、コミットコメントを入力して `Push` ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/200478/2be7b65b-049f-3f1c-7136-05d7b62a91ac.png)