Google Apps Script ist eine Cloud-basierte Plattform zur Entwicklung von Add-ons für die gängigen G-Suite-Anwendungen, zur Automatisierung von Workflows, Integration mit externen APIs und mehr. Dabei existieren verschiedene Werkzeuge, um die Entwicklung von Apps Script zu unterstützen und Entwicklungsprozesse zu erleichtern.
Dazu gehört Clasp, das App Scripts Command Line Interface. Welche Fähigkeiten dieses Tool bietet, wie es installiert wird und wie es in der Praxis eingesetzt werden kann, zeige ich in diesem Artikel.
Features
- Lokal entwickeln: Projekte lassen sich herunterladen und ermöglichen so das lokale Entwickeln mit den gewohnten Entwicklungswerkzeugen (IDEs, Git, Linter).
- Verwaltung von Versionen und Deployments: Wir können bereitgestellte Versionen der Skripte verwalten, auch das Zurückspringen auf vorherige Versionen ist möglich.
- Code-Strukturierung: Projekte von script.google.com werden automatisch auf passende Projektverzeichnisse auf dem lokalen System abgebildet.
Eine weiterführende Dokumentation sowie ein CodeLabs-Tutorial bieten zusätzliche Informationen.
Installation
Sofern der Node Package Manager bereits installiert ist, können wir Clasp mit dem folgenden Befehl einfach und schnell installieren:
$ npm i @google/clasp -g > @google/clasp@1.0.7 postinstall /dir/.nvm/versions/node/v9.2.1/lib/node_modules/@google/clasp > echo '-> Thanks for installing clasp! -> Thanks for installing clasp! + @google/clasp@1.0.7 added 199 packages in 4.708s
Damit sollte uns Clasp in der Kommandozeile als ausführbare Anwendung zur Verfügung stehen:
$ clasp -h Usage: clasp <command> [options] clasp - The Apps Script CLI Options: -h, --help output usage information Commands: login Log in to script.google.com logout Log out create [scriptTitle] Create a script clone <scriptId> Clone a project pull Fetch a remote project push Update the remote project open Open a script deployments List deployment ids of a script deploy [version] [description] Deploy a project undeploy <deploymentId> Undeploy a deployment of a project redeploy <deploymentId> <version> <description> Update a deployment versions List versions of a script version [description] Creates an immutable version of the script
API-Aktivierung und Authentifizierung
Zunächst müssen wir in unserem Google-Konto die Verwendung der Google Apps Script API aktivieren:
Nun können wir uns in unserer lokalen Entwicklungsumgebung mit Clasp und OAuth für die weitere Interaktion mit Google authentifizieren:
$ clasp login -> Authorize clasp by visiting this url: https://accounts.google.com/o/oauth2/auth?......
Schließlich bestätigen wir im geöffneten Browser die angeforderten Berechtigungen und erhalten die folgende Meldung:
Saved the credentials to ~/.clasprc.json. You may close the page.
Damit können wir das Werkzeug nutzen.
Projekte verwalten
Um ein bestehendes Apps-Script-Projekt lokal zur Verfügung zu stellen, können wir clasp clone
unter Angabe der Projekt-ID verwenden. Diese Projekt-ID ist in der Apps-Script-Verwaltung im Browser ersichtlich:
$ clasp clone PROJEKTID Cloned 2 files. - Code.gs - appsscript.json
Wir können nun mit den Dateien arbeiten. Um sie dann wieder mit Google Apps Script zu synchronisieren, benutzen wir clasp push
:
$ clasp push - Code.gs - appsscript.json Pushed 2 files.
Änderungen, die wir an den Projektdateien gemacht haben, können wir ebenfalls in der Apps-Script-Oberfläche einsehen:
Versionierung
Um Änderungen an unseren Skripten im Blick zu behalten, können wir Projektstände versionieren. Im folgenden Beispiel verwenden wir clasp version
, um einen Projektstand mit einer alpha1
benannten Version zu versehen:
$ clasp version alpha1 Created version 1.
Welche Versionen bestehen, können wir mittels clasp versions
aufzeigen:
$ clasp versions ~ 1 Version ~ 1 - alpha1
Mit clasp deploy
können wir unsere Version nun veröffentlichen:
$ clasp deploy 1 "Erste Alpha Version veroeffentlicht" - ABC123ABC123ABC123 @1.
Welche Deployments bereits erstellt wurden, lässt sich mithilfe von clasp deployments
einsehen:
$ clasp deployments 2 Deployments. - ID @HEAD - ID-ABC123ABC123ABC123 @1 - Erste Alpha-Version veroeffentlicht
In der Oberfläche von Google Apps Script können wir natürlich ebenfalls die Versionen einsehen und bearbeiten:
Wir sehen: Clasp ist schnell und einfach zu handhaben, und das Tool bringt die wichtigsten Features mit, um unsere Arbeit nahtlos mit Google Apps Script zu integrieren. Die Lösung ist vor allem dadurch praktisch, dass wir in unserer gewohnten Umgebung mit unseren bevorzugten Tools arbeiten können statt im Apps-Script-Editor.
Weiterführende Infos
Apps für die Google G Suite und der Google App Maker
Hands-on-Confluence-Cloud-Apps mit Spring Boot und Atlassian Connect
G Suite: Funktionen, Möglichkeiten, Einführungsprojekte
Mehr über die Creative-Commons-Lizenz erfahren