29
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

claspのREADMEを日本語訳

Last updated at Posted at 2018-12-28

追記

この情報は古いです、本家の最新のREADMEを参考にしてください(気が向いたら更新します もしくは編集リクエストお願いします)

原文
https://github.com/google/clasp/blob/a556599e78bdc3f168e3bb5cdc2ff0a55909f6f5/README.md

Clasp

Apps Script をローカルで開発するためのClasp ( Command Line Apps Script Projects)

codelab で始めよう!

概要

🗺️ ローカル開発: clasp で、GASのプロジェクトをローカルで開発できるようになります。つまり、ソースをコード管理したり、他の開発者と共同開発したり、あなたのお気に入りのツールを使うことができます。

🔢 バージョン管理: プロジェクトの作成・更新・表示・複数のデプロイが可能になります。

📁 コードの構造化: script.google.com上でのフラットなプロジェクトをローカルでフォルダーで管理できます。
例:

  • script.google.com での表示:
    • tests/slides.gs
    • tests/sheets.gs
  • ローカル:
    • tests/
      • slides.js
      • sheets.js

🔷 TypeScriptでGASを書く:

  • アロー関数
  • オプションの構造型
  • クラス
  • 型推論
  • インターフェース
  • And more...(英語)

インストール

clasp のインストール

sudo npm i @google/clasp -g

次に、 Apps Script API を有効化する: https://script.google.com/home/usersettings

(有効化できなければならこれを実行してください)

sudo npm i -g grpc @google/clasp --unsafe-perm

コマンド

GASのプロジェクト管理を提供する基本的なコマンド

注意: ほとんどのコマンドは、 clasp loginclasp create/clone のあとに実行する必要があります。

高度なコマンド

注意: これらのコマンドはぷろじぇくとIDか認証情報を必要とします。(下記参照)

リファレンス

login

ログインします。認証情報は .clasprc.json に保存されます。

$ clasp login

オプション

  • --no-localhost: ローカルサーバーで実行しない。代わりに手動でコードを入力する。
  • --creds <file>: カスタム認証情報を使用します。 .clasprc.json をカレントディレクトリに保存します。このファイルは非公開にしてください。

logout

ログアウトします

clasp logout`

Create

新しいプロジェクトを作成します。プロジェクト名が指定されていない場合は入力を求めます。

オプション

  • --type [docs/sheets/slides/forms]: 指定した場合、Document、Spreadsheet、Presentation、Formにアタッチされたプロジェクトを作成します。 --parentId を指定したときは無視されます。
  • --title : プロジェクトのタイトル
  • --rootDir : プロジェクトのファイルを保存する場所の指定。指定しない場合カレントディレクトリになります。
  • --parentId : 親プロジェクトのID。 GoogleDoc、Googleシート、Googleフォーム、GoogleスライドのIDを指定してください。指定がない場合スタンドアロンプロジェクトになります。

  • clasp create
  • clasp create --type standalone (デフォルト)
  • clasp create --type docs
  • clasp create --type sheets
  • clasp create --type slides
  • clasp create --type forms
  • clasp create --type webapp
  • clasp create --type api
  • clasp create --title "My Script"
  • clasp create --rootDir ./dist
  • clasp create --parentId "1D_Gxyv*****************************NXO7o"

これらのオプションは下記のように組み合わせることができます。

  • clasp create --title "My Script" --parentId "1D_Gxyv*****************************NXO7o" --rootDir ./dist

Clone

script.google.com からクローンする

Options

  • scriptId | scriptURL: スクリプトのIDかURLを指定する。
  • versionNumber: 指定したバージョンを取得する。

  • clasp clone 15ImUCpyi1Jsd8yF8Z6wey_7cw793CymWTLxOqwMka3P1CzE5hQun6qiC
  • clasp clone https://script.google.com/d/15ImUCpyi1Jsd8yF8Z6wey_7cw793CymWTLxOqwMka3P1CzE5hQun6qiC/edit

Pull

リモートからプロジェクト情報を取得し、ローカルファイルを更新します。

オプション

  • --versionNumber: 取得するバージョンの番号

  • clasp pull
  • clasp pull --versionNumber 23

Push

script.google.com にpushする。

これらのファイルは無視される。:

  • . で始まるファイル
  • 非対応の拡張子
  • .claspignore の内容に一致するファイル

Options

  • --watch: ローカルの更新を監視し、何秒化ごとにプッシュします。
  • -f --force: 強制的に上書きします。
  • -w --watch: ローカルのファイルを監視し、更新がアレば自動でプッシュします。

  • clasp push
  • clasp push -f
  • clasp push --watch

Status

更新されたファイルの一覧表示

これらのファイルは無視される。:

  • . で始まるファイル
  • 非対応の拡張子
  • .claspignore の内容に一致するファイル

  • clasp status

Open

現在のプロジェクトをブラウザで開く。

オプション

  • scriptId: プロジェクトのID
  • --webapp: ブラウザでWebアプリケーションを開く

  • clasp open
  • clasp open [scriptId]
  • clasp open --webapp

デプロイメント

デプロイされるスクリプトのリストを表示する。

Examples

  • clasp deployments

Deploy

バージョンを指定してスクリプトをデプロイします。デプロイしたバージョンが表示されます。

Options

  • -V <version> --versionNumber <version>: デプロイするバージョン
  • -d <description> --description <description>: デプロイの説明
  • -i <id> --deploymentId <id>: 再デプロイする際のID

  • clasp deploy (create new deployment and new version)
  • clasp deploy --versionNumber 4 (create new deployment)
  • clasp deploy --desc "Updates sidebar logo." (deploy with description)
  • clasp deploy --deploymentId 123 (create new version)
  • clasp deploy -V 7 -d "Updates sidebar logo." -i 456

Undeploy

スクリプトをアンデプロイする。

Options

  • deploymentId: デプロイのID

  • clasp undeploy (undeploy the last deployment.)
  • clasp undeploy "123"

Version

不変なバージョンを作る。

Options

  • description: スクリプトのバージョンの説明

  • clasp version
  • clasp version "Bump the version."

Versions

バージョンの一覧表示

  • clasp versions

List

最新のGASプロジェクトの一覧を表示します。(?)

  • clasp list # helloworld1 – xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

高度なコマンド

注意: プロジェクトIDの設定が必要です。

Logs

最近の StackDriver logs を表示します。(Logger.logではなくconsole.logです)

Options

  • --json: JSONで出力します。
  • --open: StackDriverのログをブラウザで開きます。
  • --watch: 5秒毎に最新のログを取得する。

clasp logs
ERROR Sat Apr 07 2019 10:58:31 GMT-0700 (PDT) myFunction      my log error
INFO  Sat Apr 07 2019 10:58:31 GMT-0700 (PDT) myFunction      info message
  • clasp logs --json
  • clasp logs --open
  • clasp logs --watch

Run

リモートで実行する

実行に必要なこと:

  1. 認証情報を使ってログインします (clasp login --creds creds.json)
  2. スクリプトを、実行可能なAPIとしてデプロイします(GUIから簡単にできます).
  3. スクリプトのすべてのAPIを有効にします。

Options

  • functionName: 実行したい関数名。
  • nondev: trueの場合、non-devModeで実行します。

  • clasp run 'sendEmail'

List/Enable/Disable Google APIs

利用可能/不可能なAPIを一覧表示します。

List APIs

Advanced Services として有効にすることができるGoogle APIを一覧表示します。

  • clasp apis
  • clasp apis list

Enable/Disable APIs

Google CloudプロジェクトのAPIを有効または無効にします。これらのAPIはGmailApp、BigQueryなどの拡張サービスを介して使用されます。

APIの名前は clasp apis list で取得することができます。

  • clasp apis enable drive
  • clasp apis disable drive

Help

ヘルプを表示します。

  • clasp help

Setting

設定ファイル .clasp.json を更新します。

newValue を省略した場合は現在の設定値を返します。

Options

  • settingKey: 変更したい設定です。
  • newValue: 設定に対する新しい値です。

  • clasp setting scriptId
  • clasp setting scriptId new-id

ガイド

Ignore File (.claspignore)

.gitignore のように、.claspignore でアップロードしたくないファイルを無視することができます。

  1. プロジェクトのルートディレクトリに .claspignore という名前のファイルを作ります。
  2. 除外するパターンを追加します。

注意 : .claspignore ファイルはAnymatchでパースします。 .gitignore とは特にディレクトリについて大きく異なります。
ディレクトリを無視するにはこのように書いてください。
**/node_modules/**.

マニフェストファイルと build/main.js を除く全てを無視する例はこのようになります。

**/**
!build/main.js
!appsscript.json

Project Settings File (.clasp.json)

clone または create を実行すると、 clasp の設定を記述するための .clasp.json がカレントディレクトリに作成されます。

例:

{
  "scriptId": "",
  "rootDir": "build/",
  "projectId": "project-id-xxxxxxxxxxxxxxxxxxx",
  "fileExtension": "ts",
  "filePushOrder": ["file1.ts", "file2.ts"]
}

以下の設定値を利用できます。

scriptId (必須)

ターゲットとするGASプロジェクトのIDを指定します。プロジェクトのURLの、 /d//edit の間の値です。
https://script.google.com/d/<SCRIPT_ID>/edit.

rootDir (任意)

claspがプロジェクトファイルを保存する ローカル ディレクトリを指定します。指定がない場合、カレントディレクトリになります。

projectId (任意)

ターゲットとするGoogle Cloud PlatformプロジェクトのIDです。GASプロジェクトはGoogle Cloud Platformに関連付けれらています。

  1. clasp open を実行する。
  2. ブラウザで、 リソース > Cloud Platform プロジェクトをクリックする
  3. プロジェクトIDを指定する。 project-id-xxxxxxxxxxxxxxxxxxx

手動で設定しなくても、clasp は必要なときにIDを尋ねます。

fileExtension (任意)

GASプロジェクトの ローカル のスクリプトファイルの拡張子を指定します。

filePushOrder (任意)

最初にプッシュするファイルを指定します。
実行順に依存するスクリプトに役立ちます。他のすべてのファイルはこのファイルのあとにプッシュされます。

トラブルシューティング

このライブラリを使用するには、 node のバージョン6.0.0以上が必要です。下記のようにして確認し、必要であればnodeをアップグレードしてください。(n はnodeのバージョン管理ツールです。)

node -v # Check Node version
sudo npm install n -g
sudo n latest

README Badge

あなたのプロジェクトに clasp を使用しますか?使うのであれば README Badge を追加してください。

clasp

[![clasp](https://img.shields.io/badge/built%20with-clasp-4285f4.svg)](https://github.com/google/clasp)

clasp の開発

ビルド方法は 開発ガイドを参照してください。それほど難しくはありません。

Contributing

このツールはGASプロジェクトのローカルでの開発を可能にすることを目的としています。
コア機能やユースケースを見たい場合はGitHubのissueを探すか、ユースケースの詳細な提案を作成してください。

プルリクエストは大歓迎しています。issuesを確認してください。特に、good first issue (はじめての人に適したissue)や help wanted のタグが付いたものをお願いします。

プルリクエストを送信する方法

  1. tests/test.tsでテストケースを調べ、プルリクエストが影響を与える可能性があるケースを試してください。
  2. tslintを実行してください。: npm run lint.
  3. 機能することを確認したあとにプルリクエストを送信してください。

⚡ Powered by the Apps Script API.

29
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?