clasp: La CLI de Apps Script

1. Introducción

Apps Script CLI, también conocida como clasp, es una herramienta con la que puedes crear, editar y también implementar proyectos de Apps Script de manera 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

  • Desarrolla contenido de forma local. clasp te permite escribir código en tu computadora y subirlo a Apps Script cuando termines. 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 en carpetas en script.google.com. Por ejemplo:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs

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

Qué aprenderás

En este codelab, aprenderás a 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

2. Comenzar

Descarga la CLI

La CLI de Apps Script (clasp) requiere que se instale Node.js. Instala Node.js aquí.

Una vez que tengas Node, instala la CLI de forma global (alias clasp):

npm i @google/clasp -g

3. Habilita la API de Apps Script

Antes de usar Clasp, debes habilitar la API de Google Apps Script en el IDE de Apps Script.

4. Acceder

Acceder

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

clasp

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

clasp login

o si usas SSH:

clasp login --no-localhost

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.

5. Crear un proyecto nuevo

Crea un proyecto independiente

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

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

Acaba 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 a un contenedor para un complemento de Presentaciones de Google.

Para ello, ve a slides.google.com y crea una presentación nueva. Cambia el nombre de la presentación a "clasp Codelab Test". En la barra de menú de Presentaciones, en el menú Extensiones, elige "Apps Script".

Esto abrirá tu proyecto de Apps Script en script.google.com.

Crea un directorio nuevo para tu proyecto y usa cd para acceder a él.

mkdir clasp_codelab_test
cd clasp_codelab_test

Para clonar un proyecto, necesitamos el Script ID. Puedes encontrar este ID en la URL del proyecto de Apps Script después de /projects/. Copia el valor y pégalo en el siguiente comando:

clasp clone <scriptID>

El resultado debería verse así…

4e3b128f4dcf6467.gif

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

6. Cómo extraer y enviar archivos

Edita el código en script.google.com

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

clasp open-script

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

Para crear un archivo nuevo de Apps Script, haz clic en Agregar un archivo agregar un archivo > Script a la izquierda del editor, junto a Archivos. Ingresa el nombre utils/strings. En el archivo que acabas de crear, utils/strings.gs, reemplaza el código por lo siguiente:

var world = "世界";

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

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

En la parte superior, haz clic en Guardar guardar.

Para ejecutar la función, en la parte superior del editor, selecciona hello en la lista desplegable de funciones y haz clic en Ejecutar.

El saludo aparece en la parte inferior del registro de ejecución.

Edite código de forma local

Volvamos a la línea de comandos donde 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 ver una carpeta para nuestras utilidades. La CLI de clasp convierte automáticamente el carácter de barra / en carpetas en el sistema de archivos local.

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

clasp push

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

7. Implementación y control de versiones

clasp te permite administrar versiones e implementaciones. 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 create-version "First version"

Podemos implementar la secuencia de comandos usando la cadena de versión registrada que creamos en lugar de [version]:

clasp create-deployment 1 "First deployment"

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

8. Eso es todo.

Esperamos que Apps Script CLI sea una herramienta simple que te ayude a administrar proyectos de Apps Script.

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 acepta nuevas funciones y parches.

Ya queremos ver tus ideas en acción.