۱. مقدمه
رابط خط فرمان Apps Script یا clasp ابزاری است که به شما امکان میدهد پروژههای Apps Script را به صورت محلی ایجاد، ویرایش و مستقر کنید. این ابزار به شما امکان میدهد برنامههای وب و افزونههایی را برای محصولاتی مانند Sheets، Docs، Forms و Slides از خط فرمان ایجاد و منتشر کنید. دو روش برای توسعه Apps Script وجود دارد، استفاده از script.google.com یا به صورت محلی روی رایانه شما. ما مورد دوم، یعنی نحوه استفاده از clasp ، ابزار خط فرمان برای Apps Script، را یاد خواهیم گرفت.
ویژگیها
- توسعه محلی.
claspبه شما امکان میدهد کد را روی رایانه خود بنویسید و پس از اتمام کار، آن را در Apps Script بارگذاری کنید. همچنین میتوانید پروژههای موجود Apps Script را دانلود کرده و سپس آنها را به صورت محلی ویرایش کنید. پس از اینکه کد به صورت محلی در دسترس قرار گرفت، میتوانید از ابزارهای توسعه مورد علاقه خود مانند git برای کار روی پروژههای Apps Script استفاده کنید. - مدیریت نسخههای استقرار . ایجاد، بهروزرسانی و مشاهده استقرارهای متعدد پروژه شما.
- کد ساختار.
claspبه طور خودکار پروژه مسطح شما را در script.google.com به پوشهها تبدیل میکند. برای مثال:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
آنچه یاد خواهید گرفت
این کدلب به شما نشان میدهد که چگونه ۳ فعالیت کلیدی را با clasp انجام دهید:
- نحوه ایجاد پروژههای جدید Apps Script
- نحوه کلون کردن، کشیدن و فشار دادن پروژههای موجود
- نحوه مدیریت استقرار اسکریپتهای شما
۲. شروع کار
دانلود CLI
رابط خط فرمان (CLI) اسکریپت برنامهها ( clasp ) نیاز به نصب Node.js دارد. Node.js را از اینجا نصب کنید .
وقتی Node را نصب کردید، CLI را به صورت سراسری (با نام مستعار clasp ) نصب کنید:
npm i @google/clasp -g
۳. فعال کردن API اسکریپت برنامهها
قبل از اینکه بتوانید از Clasp استفاده کنید، باید Google Apps Script API را در Apps Script IDE فعال کنید.
۴. ورود
ورود
بیایید clasp را امتحان کنیم! تنها دستوری که باید به خاطر بسپارید clasp است.
clasp
قبل از شروع استفاده از ابزار خط فرمان، باید وارد سیستم شویم. این دستور را اجرا کنید:
clasp login
یا اگر از SSH استفاده میکنید:
clasp login --no-localhost
در این مرحله، از شما خواسته میشود که به حساب گوگل خود وارد شوید. هر پروژهای که با CLI ایجاد میکنید با این حساب گوگل مرتبط میشود.
۵. ایجاد یک پروژه جدید
ایجاد یک پروژه مستقل
با ایجاد یک پروژه مستقل Google Apps Script با دستور زیر شروع کنید:
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab" --type standalone;
شما همین الان یک پروژه اسکریپت برنامهها (Apps Script Project) در پوشه "clasp_codelab" ایجاد کردید!
(جایگزین اختیاری) کپی کردن یک پروژه موجود
بیایید سعی کنیم یک اسکریپت متصل به کانتینر برای افزونهی اسلایدهای گوگل ایجاد کنیم.
برای انجام این کار، به slides.google.com بروید و یک ارائه جدید ایجاد کنید. نام ارائه را به « clasp Codelab Test » تغییر دهید. در نوار منوی اسلایدها، در منوی افزونهها ، « Apps Script» را انتخاب کنید.
این کار پروژه Apps Script شما را در script.google.com باز میکند.
یک دایرکتوری جدید برای پروژه خود ایجاد کنید و cd به آن بروید.
mkdir clasp_codelab_test
cd clasp_codelab_test
برای کلون کردن یک پروژه، به Script ID نیاز داریم. میتوانید این شناسه را در آدرس اینترنتی پروژه Apps Script پس از /projects/ پیدا کنید. مقدار را کپی کرده و در دستور زیر جایگذاری کنید:
clasp clone <scriptID>
خروجی باید به این شکل باشه...

حالا که پروژه را در دایرکتوری فعلی خود دانلود کردهاید، از ویرایشگر مورد علاقه خود برای مشاهده محتوای Code.gs (یک تابع خالی) استفاده کنید.
۶. کشیدن و فشار دادن فایلها
ویرایش کد در script.google.com
حالا که میتوانید یک پروژه را کپی کنید، بیایید یاد بگیریم که چگونه فایلها را pull و push کنیم. ما شما را در مراحل ویرایش در فضای ابری از طریق script.google.com و pull کردن به صورت محلی در رایانهتان راهنمایی خواهیم کرد. بیایید اسکریپت را در فضای ابری باز کنیم:
clasp open-script
حالا که در ویرایشگر آنلاین هستیم، کدی را به صورت آنلاین ویرایش میکنیم که بعداً با استفاده از clasp آن را دریافت خواهیم کرد.
برای ایجاد یک فایل اسکریپت برنامهها، در سمت چپ ویرایشگر، کنار Files ، روی Add a file کلیک کنید.
> اسکریپت . نام utils/strings را وارد کنید. در فایل تازه ایجاد شده، utils/strings.gs ، کد زیر را جایگزین کنید:
var world = "世界";
در Code.gs ، کد موجود را با کد زیر جایگزین کنید:
function hello() {
Logger.log("Hello, " + world);
}
در بالا، روی ذخیره کلیک کنید .
برای اجرای تابع، در بالای ویرایشگر، از فهرست کشویی تابع، hello انتخاب کرده و روی Run کلیک کنید.
پیام خوشامدگویی در پایین گزارش اجرا ظاهر میشود.
ویرایش کد به صورت محلی
بیایید به خط فرمانی که آخرین بار پروژه را در آن کلون کردیم برگردیم. ممکن است متوجه شده باشید که کد ما اکنون با ویرایشگر آنلاین همگامسازی نشده است. برای رفع این مشکل، بیایید کد را از پروژه آنلاین خود استخراج کنیم.
clasp pull
حالا به کد برگردید. باید متوجه شوید که یک پوشه برای ابزارهای ما وجود دارد. رابط خط فرمان clasp به طور خودکار کاراکتر اسلش / را به پوشههای موجود در سیستم فایل محلی تبدیل میکند.
در ویرایشگر متن مورد علاقه خود، به util/strings.gs بروید و نام متغیر world با mondo جایگزین کنید. همچنین، Code.gs را با جایگزینی world با mondo بهروزرسانی کنید. برای بهروزرسانی کد بهروزرسانیشده در script.google.com ، کد ویرایششده خود را push کنید.
clasp push
و تمام! کد شما اکنون در script.google.com بهروزرسانی شده است.
۷. نسخهبندی و استقرار
clasp به شما امکان مدیریت نسخهها و استقرارها را میدهد. اول، چند واژه:
- نسخه : یک «تصویر لحظهای» از یک پروژه اسکریپت. یک نسخه را میتوان یک شاخه فقط خواندنی در نظر گرفت که برای استقرارها استفاده میشود.
- استقرار (Deployment) : نسخه منتشر شده از یک پروژه اسکریپت (اغلب به عنوان یک افزونه یا برنامه وب). به یک شماره نسخه نیاز دارد.
بیایید یک نسخه از اسکریپت خود ایجاد کنیم:
clasp create-version "First version"
با استفاده از رشته نسخه ثبتشدهای که به جای [version] ایجاد کردیم، میتوانیم اسکریپت را مستقر کنیم:
clasp create-deployment 1 "First deployment"
دستور clasp deploy به فایل مانیفست شما نگاه میکند و یک نسخه جدید از استقرار (deployment) ایجاد میکند. کد شما اکنون به عنوان یک فایل اجرایی مستقر شده است. برای اطلاعات بیشتر در این مورد به راهنمای استقرارها مراجعه کنید.
۸. همین!
ما امیدواریم که رابط خط فرمان Apps Script ابزاری ساده برای کمک به شما در مدیریت پروژههای Apps Script باشد.
آنچه ما پوشش دادهایم
- نحوه ایجاد پروژههای جدید Apps Script
- نحوه کلون کردن، پوش کردن و پول کردن پروژههای موجود
- نحوه مدیریت استقرار اسکریپتهای شما
Clasp در گیتهاب موجود است و از ویژگیها و وصلههای جدید استقبال میشود.
ما بیصبرانه منتظریم ببینیم چه چیزی میسازید!