clasp – CLI Apps Script

1. Giới thiệu

Apps Script CLI (hay clasp) là một công cụ cho phép bạn tạo, chỉnh sửa và triển khai các dự án Apps Script tại chỗ. Công cụ này cho phép bạn tạo và xuất bản các ứng dụng web cũng như tiện ích bổ sung cho các sản phẩm như Trang tính, Tài liệu, Biểu mẫu và Trang trình bày thông qua dòng lệnh. Có 2 cách để phát triển Apps Script, đó là sử dụng script.google.com hoặc phát triển cục bộ trên máy tính. Chúng ta sẽ tìm hiểu cách sử dụng clasp, công cụ dòng lệnh cho Apps Script.

Tính năng

  • Phát triển cục bộ. clasp cho phép bạn viết mã trên máy tính của riêng mình và tải mã đó lên Apps Script khi hoàn tất. Bạn cũng có thể tải các dự án Apps Script hiện có xuống rồi chỉnh sửa chúng trên thiết bị. Sau khi mã được lưu trữ cục bộ, bạn có thể sử dụng các công cụ phát triển mà mình yêu thích (chẳng hạn như git) để làm việc trên các dự án Apps Script.
  • Quản lý các phiên bản triển khai. Tạo, cập nhật và xem nhiều lượt triển khai dự án của bạn.
  • Mã cấu trúc. clasp tự động chuyển đổi dự án phẳng của bạn trên script.google.com thành thư mục. Ví dụ:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs

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

Kiến thức bạn sẽ học được

Lớp học lập trình này sẽ hướng dẫn bạn cách thực hiện 3 hoạt động chính bằng clasp:

  • Cách tạo dự án Apps Script mới
  • Cách sao chép, kéo và đẩy các dự án hiện có
  • Cách quản lý việc triển khai tập lệnh

2. Bắt đầu

Tải CLI xuống

Apps Script CLI (clasp) yêu cầu bạn cài đặt Node.js. Cài đặt Node.js tại đây.

Sau khi cài đặt Node, hãy cài đặt CLI trên toàn cầu (bí danh clasp):

npm i @google/clasp -g

3. Bật API Apps Script

Để có thể sử dụng Clasp, bạn phải bật API Google Apps Script trong IDE Apps Script.

4. Đăng nhập

Đăng nhập

Hãy thử clasp! Lệnh duy nhất bạn cần nhớ là clasp.

clasp

Trước khi bắt đầu sử dụng công cụ dòng lệnh, chúng ta phải đăng nhập. Chạy lệnh này:

clasp login

hoặc nếu bạn đang dùng SSH:

clasp login --no-localhost

Tại thời điểm này, bạn sẽ được nhắc đăng nhập vào Google. Mọi dự án bạn tạo bằng CLI đều được liên kết với Tài khoản Google này.

5. Tạo dự án mới

Tạo một dự án độc lập

Bắt đầu bằng cách tạo một dự án Google Apps Script độc lập bằng lệnh sau:

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

Bạn vừa tạo một Dự án Apps Script trong thư mục "clasp_codelab"!

(Lựa chọn thay thế không bắt buộc) Sao chép một dự án hiện có

Hãy thử tạo một tập lệnh được liên kết với vùng chứa cho một Tiện ích bổ sung của Google Trang trình bày.

Để làm việc này, hãy truy cập slides.google.com rồi tạo một bản trình bày mới. Đổi tên bản trình bày thành "clasp Codelab Test". Trong thanh trình đơn của Trang trình bày, trong trình đơn Tiện ích, hãy chọn "Apps Script.

Thao tác này sẽ mở dự án Apps Script của bạn tại script.google.com.

Tạo một thư mục mới cho dự án của bạn và cd vào thư mục đó.

mkdir clasp_codelab_test
cd clasp_codelab_test

Để sao chép một dự án, chúng ta cần Script ID. Bạn có thể tìm thấy mã này trong URL của dự án Apps Script sau /projects/. Sao chép giá trị đó rồi dán vào lệnh sau:

clasp clone <scriptID>

Kết quả đầu ra sẽ có dạng như sau...

4e3b128f4dcf6467.gif

Giờ đây, bạn đã tải dự án xuống thư mục hiện tại. Sử dụng trình chỉnh sửa mà bạn yêu thích để xem nội dung của Code.gs (một hàm trống).

6. Kéo và đẩy tệp

Chỉnh sửa mã trên script.google.com

Giờ bạn đã có thể sao chép một dự án, hãy tìm hiểu cách kéo và đẩy tệp. Chúng tôi sẽ hướng dẫn bạn các bước để chỉnh sửa trên đám mây thông qua script.google.com và kéo xuống máy tính của bạn. Hãy mở tập lệnh trên đám mây:

clasp open-script

Giờ đây, khi đang ở trình chỉnh sửa trực tuyến, chúng ta sẽ chỉnh sửa một số mã trực tuyến mà sau này chúng ta sẽ tìm nạp bằng clasp.

Để tạo một tệp Apps Script mới, ở bên trái trình chỉnh sửa, bên cạnh Tệp, hãy nhấp vào biểu tượng Thêm tệp thêm tệp > Tập lệnh. Nhập tên utils/strings. Trong tệp utils/strings.gs vừa tạo, hãy thay thế mã bằng đoạn mã sau:

var world = "世界";

Trong Code.gs, hãy thay thế mã hiện có bằng mã sau:

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

Ở trên cùng, hãy nhấp vào biểu tượng Lưu lưu.

Để chạy hàm, ở đầu trình chỉnh sửa, hãy chọn hello trong danh sách thả xuống hàm rồi nhấp vào Chạy.

Lời chào xuất hiện ở cuối nhật ký thực thi.

Chỉnh sửa mã cục bộ

Hãy quay lại dòng lệnh nơi chúng ta nhân bản dự án lần gần đây nhất. Bạn có thể nhận thấy rằng mã của chúng ta hiện không đồng bộ với trình chỉnh sửa trực tuyến. Để khắc phục vấn đề đó, hãy kéo mã từ dự án trực tuyến của chúng ta.

clasp pull

Bây giờ, hãy quay lại mã. Bạn sẽ nhận thấy có một thư mục cho các tiện ích của chúng tôi. CLI clasp sẽ tự động chuyển đổi ký tự dấu gạch chéo / thành các thư mục trên hệ thống tệp cục bộ.

Trong trình chỉnh sửa văn bản mà bạn yêu thích, hãy chuyển đến util/strings.gs rồi thay thế tên biến world thành mondo. Ngoài ra, hãy cập nhật Code.gs bằng cách thay thế world thành mondo. Để cập nhật mã đã chỉnh sửa trên script.google.com, hãy đẩy mã đã chỉnh sửa.

clasp push

Chỉ vậy thôi! Mã của bạn hiện đã được cập nhật vào script.google.com.

7. Lập phiên bản và triển khai

clasp cho phép bạn quản lý các phiên bản và việc triển khai. Trước tiên, hãy tìm hiểu một số từ vựng:

  • Phiên bản: "Ảnh chụp nhanh" của một dự án tập lệnh. Phiên bản có thể được coi là một nhánh chỉ đọc dùng cho việc triển khai.
  • Triển khai: Bản phát hành đã xuất bản của một dự án tập lệnh (thường là dưới dạng một tiện ích bổ sung hoặc ứng dụng web). Bạn phải nhập số phiên bản.

Hãy tạo một phiên bản của tập lệnh:

clasp create-version "First version"

Sử dụng chuỗi phiên bản đã ghi nhật ký mà chúng ta đã tạo thay cho [version], chúng ta có thể triển khai tập lệnh:

clasp create-deployment 1 "First deployment"

Lệnh clasp deploy sẽ xem xét tệp kê khai của bạn và tạo một bản triển khai mới theo phiên bản. Mã của bạn hiện được triển khai dưới dạng một tệp thực thi. Tìm hiểu thêm về vấn đề này trong hướng dẫn triển khai.

8. Vậy là xong!

Chúng tôi hy vọng CLI của Apps Script là một công cụ đơn giản giúp bạn quản lý các dự án Apps Script.

Nội dung đã đề cập

  • Cách tạo dự án Apps Script mới
  • Cách sao chép, đẩy và kéo các dự án hiện có
  • Cách quản lý việc triển khai tập lệnh

Clasp có trên GitHub và sẵn sàng đón nhận các tính năng cũng như bản vá mới.

Chúng tôi rất mong chờ được chiêm ngưỡng tác phẩm của bạn!