Apps Script CLI(clasp
)は、ローカルに Apps Script プロジェクトを作成、編集、デプロイするためのツールです。コマンドラインからスプレッドシート、ドキュメント、フォーム、スライドなどのサービス向けのウェブアプリやアドオンを作成し、公開することができます。Apps Script で開発するには、script.google.com を使用する方法と、コンピュータでローカルに行う方法の 2 つがあります。Apps Script のコマンドライン ツールである clasp
の使い方については、後者について説明します。
機能
- ローカルでの開発。
clasp
を使うと、自分のパソコンにコードを記述して、完了したら Apps Script にアップロードできます。既存の Apps Script プロジェクトをダウンロードして、ローカルで編集することも可能です。ローカルにコードを追加したら、git などのお好きな開発ツールを使用して Apps Script プロジェクトを操作できます。 - デプロイ バージョンの管理。プロジェクトで複数のデプロイの作成、更新、表示を行うことができます。
- ストラクチャ コード。
clasp
は、script.google.com のフラット プロジェクトをフォルダに自動的に変換します。次に例を示します。
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
学習内容
この Codelab では、clasp
を使って 3 つの重要なアクティビティを行う方法を説明します。
- 新しい Apps Script プロジェクトを作成する方法
- 既存のプロジェクトのクローン作成、pull、push を行う方法
- スクリプトのデプロイを管理する方法
CLI のダウンロード
Apps Script CLI(clasp
)を使用するには、Node.js >= v6.0.0 がインストールされている必要があります。Node.js をここでインストールします。
Node を追加したら、CLI をグローバルにインストールします(エイリアス clasp)。
npm i @google/clasp -g
ログイン
バックルをお試しください。覚えておく必要があるコマンドは clasp
だけです。
clasp
コマンドライン ツールを使用する前に、ログインする必要があります。次のコマンドを実行します。
clasp login
この時点で、Google にログインするよう求められます。CLI で作成するプロジェクトはすべて、この Google アカウントに関連付けられます。
スタンドアロン プロジェクトを作成する
まず、次のコマンドでスタンドアロンの Google Apps Script プロジェクトを作成します。
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab";
Apps Script プロジェクトを「clasp_codelab"」フォルダに作成しました。
(もう 1 つの方法)既存のプロジェクトのクローンを作成する
Google スライド アドオンのコンテナ バインド スクリプトを作成してみましょう。
それには、slides.google.com にアクセスして新しいプレゼンテーションを作成します。プレゼンテーション名を「clasp Codelab Test」に変更します。ヘッダーで [ツール] の [スクリプト エディタ] を押します。
Apps Script プロジェクト(script.google.com)が開きます。プロジェクトのクローンを作成するには、Script ID
を見つける必要があります。この値は、File > Project properties > Info > Script ID で確認できます(この値は URL でも確認できます)。値をコピーして、次のコマンドに貼り付けます。
clasp clone <scriptID>
出力結果は次のようになります。
これで、現在のディレクトリにプロジェクトがダウンロードされました。任意のエディタを使用して、Code.gs
(空の関数)の内容を表示します。
script.google.com でコードを編集する
プロジェクトのクローンを作成できたので、ファイルの pull と push を行う方法を確認しましょう。script.google.com
を介してクラウド上で編集し、ローカルにパソコンに接続する手順を説明します。まず、クラウドでスクリプトを開きます。
clasp open
オンライン エディタに保存したので、clasp
を使用して後で取得するコードをオンラインで編集します。
エディタで、[ファイル > 新規 &スクリプト ファイル] を選択して新しいファイルを作成します。名前「utils/strings
」を入力します。新しく作成したファイル utils/strings.gs
で、コードを次のコードに置き換えます。
var world = "世界";
Code.gs
で、既存のコードを次のコードに置き換えます。
function hello() {
Logger.log("Hello, " + world);
}
すべてのファイルを忘れずに保存してください。Run > Run function > hello
を押して関数を実行します。
View > Logs
に移動して挨拶を表示します。
ローカルでコードを編集する
プロジェクトのクローンを作成したコマンドラインに戻りましょう。このコードは、オンライン エディタと同期されていない状態です。これを修正するには、オンライン プロジェクトからコードを pull します。
clasp pull
ここで、コードに戻ります。ユーティリティ用のフォルダがあります。clasp
CLI では、スラッシュ文字 /
がローカル ファイルシステム上のフォルダに自動的に変換されます。
任意のテキスト エディタで、util/strings.gs
に移動し、変数名 world
を mondo
に置き換えます。また、world
を mondo
に置き換えて Code.gs を更新します。更新されたコードを script.google.com
に更新するには、編集したコードを push します。
clasp push
これで完了です。コードが script.google.com
に更新されました。
clasp
を使用すると、バージョンとデプロイを管理できます。まず、用語を少し確認しておきましょう。
- バージョン: スクリプト プロジェクトの「スナップショット」です。バージョンは、デプロイに使用される読み取り専用のブランチと考えることができます。
- デプロイ: スクリプト プロジェクト(多くの場合、アドオンまたはウェブアプリ)の公開版のリリースです。バージョン番号が必要です。
スクリプトのバージョンを作成しましょう。
clasp version "First version"
[version]
の代わりに作成したログ文字列のバージョンを使用して、スクリプトをデプロイできます。
clasp deploy 1 "First deployment"
clasp deploy
コマンドを実行するとマニフェストが参照され、新しいバージョンがデプロイされます。これで、コードが実行可能ファイルとしてデプロイされました。詳細については、デプロイガイドをご覧ください。
Apps Script CLI は、Apps Script プロジェクトの管理に役立つシンプルなツールです。
学習した内容
- 新しい Apps Script プロジェクトを作成する方法
- 既存のプロジェクトのクローンを作成、push、pull する方法
- スクリプトのデプロイを管理する方法
バックルは GitHub で入手でき、新しい機能やパッチも利用できます。
これらの点に注意して、独創的なアプリケーションを開発してください。