clasp - Apps Script CLI

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 を使用して後で取得するコードをオンラインで編集します。

エディタで、[ファイル &gt 新規 &スクリプト ファイル] を選択して新しいファイルを作成します。名前「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 に移動し、変数名 worldmondo に置き換えます。また、worldmondo に置き換えて 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 で入手でき、新しい機能やパッチも利用できます。

これらの点に注意して、独創的なアプリケーションを開発してください。