Untuk mengembangkan dan mengelola project Google Apps Script dari terminal, bukan editor Apps Script, gunakan alat open source clasp.
Codelab clasp memberikan ringkasan semua
clasp fitur.
Fitur
clasp menyertakan fitur berikut:
Mengembangkan secara lokal
clasp memungkinkan Anda mengembangkan project Apps Script secara lokal. Tulis kode di komputer Anda sendiri dan upload ke Apps Script setelah selesai. Anda juga dapat mendownload project Apps Script yang ada untuk mengeditnya secara offline. Gunakan alat pengembangan favorit Anda seperti
git saat mem-build project Apps Script.
Mengelola versi deployment
Buat, perbarui, dan lihat beberapa deployment project Anda.
Menyusun kode
clasp memungkinkan Anda mengatur kode ke dalam direktori, yang akan dipertahankan saat Anda menguploadnya ke script.google.com. Contoh:
# On script.google.com: ├── tests/slides.gs └── tests/sheets.gs # Locally: ├── tests/ │ ├─ slides.gs │ └─ sheets.gs
Jenis project
Anda dapat menggunakan clasp untuk mengelola project skrip mandiri dan terikat container.
Project mandiri
Project mandiri muncul sebagai file terpisah di Google Drive Anda. Anda dapat membuat skrip mandiri baru menggunakan perintah clasp create.
Project terikat container
Project terikat container dilampirkan ke file Google Dokumen, Spreadsheet, Slide, atau Google Formulir. Anda dapat membuat skrip terikat container baru yang dilampirkan ke file baru menggunakan perintah clasp create. Anda juga dapat melampirkan skrip baru ke file yang ada menggunakan flag --parentId.
Jenis project lainnya
clasp juga mendukung pembuatan skrip untuk aplikasi web dan API.
Persyaratan
clasp ditulis dalam Node.js dan didistribusikan menggunakan
alat npm. Sebelum menggunakan clasp, Anda harus menginstal
Node.js versi 20.0.0 atau yang lebih baru.
Penginstalan Node.js memerlukan hak istimewa administratif.
Penginstalan
Setelah menginstal Node.js, gunakan perintah npm berikut untuk menginstal clasp:
npm install @google/clasp -g
Setelah penginstalan, gunakan perintah clasp dari direktori mana pun di komputer Anda.
Menggunakan clasp
Gunakan clasp untuk menangani berbagai tugas dari command line. Bagian ini menjelaskan operasi umum yang akan digunakan saat mengembangkan dengan clasp.
Login
Perintah ini akan login dan mengotorisasi pengelolaan project Apps Script Akun Google Anda. Setelah dijalankan, Anda akan diminta untuk login ke Akun Google tempat project Apps Script Anda disimpan.
clasp login
Logout
Perintah ini akan logout dari alat command line. Login kembali menggunakan clasp login untuk
melakukan autentikasi ulang dengan Google sebelum terus menggunakan clasp.
clasp logout
Membuat project Apps Script baru
Perintah ini akan membuat skrip baru di direktori saat ini dengan judul skrip opsional.
clasp create [scriptTitle] [--type <projectType>] [--parentId <parentId>]
Perintah ini menggunakan parameter opsional berikut:
scriptTitle: Judul project skrip.--type <projectType>: Jenis project yang akan dibuat. Nilai yang diizinkan adalahstandalone,docs,sheets,slides,forms,webapp, danapi.--parentId <parentId>: ID file Google Drive yang ada (Dokumen, Spreadsheet, Slide, atau Formulir) yang akan digunakan untuk mengikat project skrip baru.
Perintah ini juga membuat dua file di direktori saat ini:
- File
.clasp.jsonyang menyimpan ID skrip. - File manifes project
appsscript.jsonyang berisi metadata project.
Meng-clone project yang ada
Perintah ini akan meng-clone project yang ada di direktori saat ini. Skrip harus dibuat atau dibagikan ke Akun Google Anda. Anda menentukan project skrip yang akan di-clone dengan memberikan ID skripnya. Anda dapat meng-clone project mandiri dan terikat container.
Untuk menemukan ID Skrip project:
- Buka project Apps Script.
- Di sebelah kiri, klik Project Settings .
Di bagian IDs, salin Script ID.
clasp clone
Mendownload project skrip
Perintah ini akan mendownload project Apps Script dari Google Drive ke sistem file komputer Anda.
clasp pull
Mengupload project skrip
Perintah ini akan mengupload semua file project skrip dari komputer Anda ke Drive.
clasp push
Mencantumkan versi project
Perintah ini akan mencantumkan nomor dan deskripsi setiap versi project skrip.
clasp versions
Men-deploy project yang dipublikasikan
Deploy project skrip sebagai aplikasi web, add-on Google Workspace, atau file yang dapat dieksekusi. Buat
deployment di editor skrip, di
manifes project, atau menggunakan clasp.
Untuk men-deploy project dengan clasp, buat versi project Apps Script yang tidak dapat diubah terlebih dahulu. Versi adalah "snapshot" project skrip dan mirip dengan rilis bercabang hanya baca.
clasp version [description]
Perintah ini akan menampilkan nomor versi yang baru dibuat. Gunakan nomor tersebut untuk men-deploy dan membatalkan deployment instance project Anda:
clasp deploy [version] [description]
clasp undeploy <deploymentId>
Perintah ini akan memperbarui deployment yang ada dengan versi dan deskripsi baru:
clasp redeploy <deploymentId> <version> <description>
Mencantumkan deployment
Perintah ini akan mencantumkan ID deployment, versi, dan deskripsi project skrip.
clasp deployments
Membuka project di editor Apps Script
Perintah ini akan membuka project skrip di editor Apps Script. Editor akan diluncurkan sebagai tab baru di browser web default Anda.
clasp open-script
Berkontribusi pada project open source clasp
Berkontribusilah pada clasp di GitHub.
CI/CD untuk Apps Script dengan clasp dan GitHub Actions
Panduan ini membahas cara menyiapkan linting, pengujian, dan deployment otomatis untuk project Google Apps Script menggunakan clasp dan GitHub Actions.
1. Prasyarat
Sebelum memulai, selesaikan langkah-langkah penyiapan di Persyaratan.
Anda juga memerlukan:
- Repositori GitHub.
- Apps Script API diaktifkan di
script.google.com/home/usersettings.
2. Autentikasi di CI
Karena runner CI tidak dapat membuka browser untuk OAuth, Anda menyimpan kredensial sebagai GitHub Secrets:
| Rahasia | Nilai |
|---|---|
CLASPRC_JSON |
Isi ~/.clasprc.json (dibuat oleh clasp login) |
CLASP_JSON |
Isi .clasp.json (pemetaan ID skrip Anda) |
Token refresh di .clasprc.json memberikan akses ke project Apps Script Anda.
Perlakukan token tersebut sebagai kredensial sensitif dan lakukan rotasi secara berkala.
Tambahkan .clasprc.json dan .clasp.json ke .gitignore Anda. File ini berisi kredensial dan tidak boleh di-commit.
3. Alur Kerja CI — Lint dan Uji di PR
.github/workflows/ci.yml:
name: CI
on:
pull_request:
branches: [main]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.3
- uses: actions/setup-node@v6.3
with:
node-version: "20"
cache: npm
- run: npm ci
- run: npm run lint
4. Alur Kerja CD — Deploy saat Penggabungan
.github/workflows/deploy.yml:
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
- run: npm ci
- run: npm run lint && npm test
- name: Setup clasp credentials
run: |
echo '${{ secrets.CLASPRC_JSON }}' > ~/.clasprc.json
echo '${{ secrets.CLASP_JSON }}' > .clasp.json
- name: Push and version
run: |
npx @google/clasp push --force
npx @google/clasp version "$(git rev-parse --short HEAD)"
Flag --force akan menimpa kode jarak jauh tanpa konfirmasi. Setelah pipeline ini diterapkan, hindari pengeditan manual di editor Apps Script — repositori akan menjadi sumber ketepatan tunggal.
5. Deployment Multi-Lingkungan
Untuk lingkungan pengembangan/staging/produksi yang terpisah, buat project Apps Script yang berbeda untuk setiap lingkungan dan simpan konfigurasinya sebagai secret terpisah (CLASP_JSON_DEV, CLASP_JSON_STAGING, CLASP_JSON_PROD). Dalam alur kerja, tulis secret yang sesuai ke .clasp.json berdasarkan cabang yang di-deploy.
Pemecahan masalah
| Error | Perbaiki |
|---|---|
| "Script API not enabled" | Aktifkan di script.google.com/home/usersettings |
| "401 Unauthorized" | Jalankan kembali clasp login secara lokal, perbarui secret CLASPRC_JSON |
| "ENOENT .clasp.json" | Verifikasi langkah kredensial menulis file sebelum clasp push |
| Push berhasil, tetapi kode tidak berubah | Konfirmasi scriptId dalam secret cocok dengan project target Anda |