clasp: a CLI do Apps Script

1. Introdução

A CLI do Apps Script, ou clasp, é uma ferramenta que permite criar, editar e implantar projetos do Apps Script localmente. Com ela, você cria e publica apps da Web e complementos para produtos como o Planilhas, o Documentos, o Formulários e o Apresentações do Google diretamente na linha de comando. Há duas maneiras de desenvolver projetos com o Apps Script: acessando script.google.com ou localmente no computador. Você aprenderá a segunda e como usar a clasp, a ferramenta de linha de comando do Apps Script.

Recursos

  • Desenvolva localmente. clasp permite que você escreva o código no seu computador e faça upload para o Apps Script quando terminar. Outra opção é fazer o download de projetos do Apps Script e editá-los localmente. Como o código está no computador, você pode usar suas ferramentas de desenvolvimento favoritas, como o git, para trabalhar em projetos do Apps Script.
  • Gerencie versões de implantação: crie, atualize e visualize várias implantações do projeto.
  • Código da estrutura. O clasp converte automaticamente seu projeto simples no script.google.com em pastas. Exemplo:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs

# Locally:
├── tests/
│   ├─ slides.gs
│   └─ sheets.gs

O que você vai aprender

Este codelab mostra como realizar três atividades principais com o clasp:

  • Como criar novos projetos do Apps Script
  • Como clonar, extrair e enviar projetos existentes
  • Como gerenciar implantações de scripts

2. Primeiros passos

Como fazer o download da CLI

A CLI do Apps Script (clasp) exige que o Node.js >= v6.0.0 esteja instalado. Instale o Node.js aqui.

Depois de criar o Node, instale a CLI globalmente (alias clasp):

npm i @google/clasp -g

3. Login

Login

Vamos testar a clasp. O único comando de que você precisa se lembrar é clasp.

clasp

Antes de começarmos a usar a ferramenta da linha de comando, precisamos fazer login. Execute este comando:

clasp login

ou se estiver usando SSH:

clasp login --no-localhost

Nesse momento, você será solicitado a fazer login no Google. Todos os projetos criados com a CLI estarão associados a essa Conta do Google.

4. Criar um novo projeto

Criar um projeto autônomo

Para começar, crie um projeto independente do Google Apps Script com o seguinte comando:

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

Você acabou de criar um projeto do Apps Script na pasta "clasp_codelab".

Clone um projeto (alternativa opcional)

Vamos tentar criar um script vinculado a contêineres para um complemento do Apresentações Google.

Para fazer isso, acesse slides.google.com e crie uma nova apresentação. Altere o nome da apresentação para clasp Codelab Test. No cabeçalho, em Ferramentas, pressione Editor de script....

Seu projeto do Apps Script será aberto em script.google.com. Para clonar um projeto, precisamos do Script ID. Esse ID pode ser encontrado no URL do projeto do Apps Script após /projects/. Copie e cole o valor no seguinte comando:

clasp clone <scriptID>

A saída será parecida com esta:

4e3b128f4dcf6467.gif

Você fez o download do projeto no diretório atual. Use seu editor favorito para ver o conteúdo de Code.gs (uma função vazia).

5. Extração e Como enviar arquivos

Editar código em script.google.com

Agora que você já sabe como clonar um projeto, é hora de aprender a extrair e enviar arquivos. Vamos ajudar você a editar na nuvem usando o script.google.com e extrair localmente no seu computador. Abra o script na nuvem:

clasp open

Agora que estamos no editor on-line, editaremos um código on-line que será buscado usando clasp.

Para criar um novo arquivo do Apps Script, à esquerda do editor, ao lado de Files, clique em Adicionar um arquivo adicionar um arquivo > Script. Digite o nome utils/strings. No arquivo recém-criado, utils/strings.gs, substitua o código pelo seguinte:

var world = "世界";

Em Code.gs, substitua o código existente pelo seguinte:

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

Na parte superior, clique em Salvar salvar.

Para executar a função, na parte de cima do editor, selecione hello na lista suspensa e clique em Executar.

A saudação aparece na parte inferior do registro de execução.

Edite o código localmente

Vamos voltar para a linha de comando em que clonamos o projeto pela última vez. O código estará diferente do que aparece no editor on-line. Para consertar isso, extraia o código do projeto on-line.

clasp pull

Volte para o código. Você verá uma pasta para nossos utilitários. A CLI clasp converte automaticamente o caractere de barra / em pastas no sistema de arquivos local.

No seu editor de texto favorito, navegue até util/strings.gs e substitua o nome da variável world por mondo. Além disso, atualize o Code.gs substituindo world por mondo. Para atualizar o código atualizado no script.google.com, envie o código editado.

clasp push

Pronto. Seu código foi atualizado em script.google.com.

6. Controle de versão e implantação

clasp permite que você gerencie versões e implantações. Primeiro, conheça o vocabulário:

  • Versão: um "instantâneo" de um projeto de script. Uma versão pode ser considerada uma ramificação somente leitura usada para implantações.
  • Implantação: uma versão publicada de um projeto de script (geralmente como um complemento ou um app da Web). Requer um número de versão.

Vamos criar uma versão do nosso script:

clasp version "First version"

Usando a string de versão registrada que criamos no lugar de [version], podemos implantar o script:

clasp deploy 1 "First deployment"

O comando clasp deploy analisa seu manifesto e cria uma nova implantação com controle de versão. Agora o código está implantado como um executável. Saiba mais sobre isso no guia de implantações.

7. Pronto!

Esperamos que a CLI do Apps Script seja uma ferramenta simples para ajudar você a gerenciar projetos do Apps Script.

O que aprendemos

  • Como criar novos projetos do Apps Script
  • Como clonar, enviar e extrair projetos
  • Como gerenciar implantações de scripts

A Clasp está disponível no GitHub e é bem-vinda para novos recursos e patches.

Mal podemos esperar para conhecer suas criações!