clasp - Apps Script CLI

1. はじめに

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 を行う方法
  • スクリプトのデプロイを管理する方法

2. はじめに

CLI のダウンロード

Apps Script CLI(clasp)を使用するには、Node.js v6.0.0 以降をインストールする必要があります。ここに Node.js をインストールします

Node を取得したら、CLI をグローバルにインストールします(エイリアス clasp)。

npm i @google/clasp -g

3. ログイン

ログイン

clasp を試してみましょう。覚えておくべきコマンドは clasp のみです。

clasp

コマンドライン ツールを使い始める前に、ログインする必要があります。次のコマンドを実行します。

clasp login

SSH を使用する場合:

clasp login --no-localhost

この時点で、Google にログインするよう求められます。CLI で作成するプロジェクトはすべて、この Google アカウントに関連付けられます。

4. 新しいプロジェクトを作成する

スタンドアロン プロジェクトを作成する

まず、次のコマンドを使用してスタンドアロンの Google Apps Script プロジェクトを作成します。

mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab"  --type standalone;

これで、Apps Script プロジェクトが「clasp_codelab」フォルダに作成されました。

(もう 1 つの方法)既存のプロジェクトのクローンを作成する

Google スライドのアドオン用に、コンテナにバインドされたスクリプトを作成してみましょう。

それには、slides.google.com にアクセスして新しいプレゼンテーションを作成します。プレゼンテーションの名前を「clasp Codelab Test」に変更します。ヘッダーの [ツール] で [スクリプト エディタ...] を押します。

script.google.com で Apps Script プロジェクトが開きます。プロジェクトのクローンを作成するには、Script ID が必要です。この ID は、Apps Script プロジェクト URL の /projects/ の後にあります。値をコピーして次のコマンドに貼り付けます。

clasp clone <scriptID>

出力は次のようになります。

4e3b128f4dcf6467.gif

これで、現在のディレクトリにプロジェクトがダウンロードされました。任意のエディタを使用して、Code.gs(空の関数)の内容を表示します。

5. プリングとファイルのプッシュ

script.google.com でコードを編集する

プロジェクトのクローンを作成できたので、ファイルの pull と push を行う方法を確認しましょう。script.google.com を使用してクラウドで編集し、ローカルのパソコンに pull する手順を説明します。まず、クラウドでスクリプトを開きます。

clasp open

オンライン エディタでは、コードをオンラインで編集します。後で clasp を使用して取得します。

新しい Apps Script ファイルを作成するには、エディタの左側にある [ファイル] の横にある [ファイルを追加] ファイルを追加 をクリックします。>スクリプト。名前「utils/strings」を入力します。新しく作成したファイル utils/strings.gs で、コードを次のように置き換えます。

var world = "世界";

Code.gs で、既存のコードを次のコードに置き換えます。

function hello() {
  Logger.log("Hello, " + world);
}

上部の保存アイコン(保存)をクリックします。

関数を実行するには、エディタの上部にある関数のプルダウン リストから [hello] を選択し、[実行] をクリックします。

実行ログの下部に挨拶が表示されます。

ローカルでコードを編集する

最後にプロジェクトのクローンを作成したコマンドラインに戻ります。このコードは、オンライン エディタと同期されていない状態です。これを修正するには、オンライン プロジェクトからコードを pull します。

clasp pull

ここで、コードに戻ります。ユーティリティのフォルダがあるはずです。clasp CLI はスラッシュ文字 / をローカル ファイル システム上のフォルダに自動的に変換します。

任意のテキスト エディタで util/strings.gs に移動し、変数名 worldmondo に置き換えます。また、worldmondo に置き換えてコード.gs を更新します。script.google.com の更新されたコードを更新するには、編集したコードを push します。

clasp push

これで完了です。コードが script.google.com に更新されました。

6. バージョニングとデプロイ

clasp を使用すると、バージョンとデプロイを管理できます。まず、用語を少し確認しておきましょう。

  • バージョン: スクリプト プロジェクトの「スナップショット」です。バージョンは、デプロイに使用される読み取り専用のブランチと考えることができます。
  • デプロイ: スクリプト プロジェクト(多くの場合、アドオンまたはウェブアプリ)の公開版のリリースです。バージョン番号が必要です。

スクリプトのバージョンを作成しましょう。

clasp version "First version"

[version] の代わりに作成したログのバージョン文字列を使用して、スクリプトをデプロイできます。

clasp deploy 1 "First deployment"

clasp deploy コマンドは、マニフェストを確認し、バージョニングされた新しいバージョンの Deployment を作成します。これで、コードが実行可能ファイルとしてデプロイされました。詳しくは、デプロイガイドをご覧ください。

7. これで完了です。

Apps Script CLI が Apps Script プロジェクトの管理に役立つシンプルなツールになれば幸いです。

学習した内容

  • 新しい Apps Script プロジェクトを作成する方法
  • 既存のプロジェクトのクローンを作成、push、pull する方法
  • スクリプトのデプロイを管理する方法

Clasp は GitHub で入手可能で、新しい機能やパッチを歓迎します。

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