clasp: La CLI de Apps Script

Apps Script CLI, o clasp, es una herramienta que te permite crear, editar e implementar proyectos de Apps Script de forma local. Le permite crear y publicar aplicaciones web y complementos para productos, como Hojas de cálculo, Documentos, Formularios y Presentaciones desde la línea de comandos. Existen dos formas de desarrollar Apps Script: usando script.google.com o de manera local en su computadora. Aprenderemos esto último, cómo usar clasp, la herramienta de línea de comandos de Apps Script.

Funciones

  • Desarrollo local. clasp te permite escribir código en tu propia computadora y subirlo a Apps Script cuando hayas terminado. También puede descargar proyectos existentes de Apps Script y, luego, editarlos de forma local. Una vez que el código sea local, podrá usar sus herramientas de desarrollo favoritas, como git, para trabajar en proyectos de Apps Script.
  • Administración de versiones de implementación: Cree, actualice y visualice varias implementaciones de su proyecto.
  • Código de estructura. clasp convierte automáticamente tu proyecto plano de script.google.com en carpetas. Por ejemplo:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs

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

Qué aprenderás

En este codelab, te mostraremos cómo realizar 3 actividades clave con clasp:

  • Cómo crear nuevos proyectos de Apps Script
  • Cómo clonar, extraer y enviar proyectos existentes
  • Cómo administrar las implementaciones de sus secuencias de comandos

Descarga la CLI

La CLI de Apps Script (clasp) requiere la instalación de Node.js >= v6.0.0. Instala Node.js aquí.

Una vez que tenga Node, instala la CLI de manera global (alias clasp):

npm i @google/clasp -g

Login

Probemos clasp. El único comando que debes recordar es clasp.

clasp

Antes de comenzar a usar la herramienta de línea de comandos, debemos acceder a tu cuenta. Ejecuta este comando:

clasp login

En este punto, se te solicitará que accedas a Google. Todos los proyectos que cree con la CLI estarán asociados con esta Cuenta de Google.

Crea un proyecto independiente

Para comenzar, cree un proyecto independiente de Google Apps Script con el siguiente comando:

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

Acabas de crear un proyecto de Apps Script en la carpeta "clasp_codelab"

(Alternativa opcional) Clone un proyecto existente

Intentemos crear una secuencia de comandos vinculada con el contenedor para un complemento de Presentaciones de Google.

Para ello, vaya a slides.google.com y cree una nueva presentación. Cambiar el nombre de la presentación a "clasp Codelab Test" En el encabezado, en Herramientas, presione Editor de secuencias de comandos....

Esto abrirá su proyecto de Apps Script en script.google.com. Para clonar un proyecto, debemos encontrar Script ID. Para encontrar este valor, vaya a File > Project properties > Info > Script ID (este valor también se encuentra en la URL). Copie el valor y péguelo en el siguiente comando:

clasp clone <scriptID>

El resultado debería verse así:

Ya descargaste el proyecto en tu directorio actual. Usa tu editor favorito para ver el contenido de Code.gs (una función vacía).

Edite el código en script.google.com

Ahora que puede clonar un proyecto, veamos cómo extraer y enviar archivos. Te guiaremos a través de los pasos para editar en la nube a través de script.google.com y extraer el contenido de forma local a la computadora. Abramos la secuencia de comandos en la nube:

clasp open

Ahora que estamos en el editor en línea, editaremos código en línea que luego recuperaremos con clasp.

En el editor, elige File > New > Script file para crear un archivo nuevo. Ingresa el nombre utils/strings. En el archivo recién creado, utils/strings.gs, reemplaza el código por lo siguiente:

var world = "世界";

En Code.gs, reemplaza el código existente por lo siguiente:

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

Asegúrese de guardar todos los archivos. Presiona Run > Run function > hello para ejecutar la función.

Ve a View > Logs para ver el saludo.

Edite código de forma local

Volvamos a la línea de comandos en la que clonamos el proyecto por última vez. Puede notar que, ahora, nuestro código no está sincronizado con el editor en línea. Para solucionar esto, extraigamos el código de nuestro proyecto en línea.

clasp pull

Regrese al código. Deberías notar que hay una carpeta para nuestros servicios. La CLI de clasp convierte automáticamente el carácter de barra / en carpetas en el sistema de archivos local.

En el editor de texto que prefieras, navega a util/strings.gs y reemplaza el nombre de variable world por mondo. Además, reemplaza world por mondo para actualizar Code.gs. Para actualizar el código actualizado en script.google.com, envía el código editado.

clasp push

Eso es todo. Tu código se actualizó el script.google.com.

clasp te permite administrar implementaciones y versiones. Antes que nada, veamos algo de vocabulario:

  • Versión: Una "instantánea" de un proyecto de secuencia de comandos. Una versión puede considerarse una rama de solo lectura utilizada para implementaciones.
  • Implementación: Una actualización publicada de un proyecto de secuencia de comandos (a menudo en la forma de complemento o aplicación web). Requiere un número de versión.

Creemos una versión de nuestra secuencia de comandos:

clasp version "First version"

Con la string de la versión registrada que creamos en lugar de [version], podemos implementar la secuencia de comandos:

clasp deploy 1 "First deployment"

El comando clasp deploy analiza tu manifiesto y crea una implementación de versión nueva. Ahora, se implementará su código como un elemento ejecutable. Obtenga más información sobre esto en la guía de implementaciones.

Esperamos que la CLI de Apps Script sea una herramienta sencilla para ayudarlo a administrar proyectos de este servicio.

Temas abordados

  • Cómo crear nuevos proyectos de Apps Script
  • Cómo clonar, enviar y extraer proyectos existentes
  • Cómo administrar las implementaciones de sus secuencias de comandos

Clasp está disponible en GitHub y es compatible con funciones y parches nuevos.

Ya queremos ver tus ideas en acción.