اسکریپت برنامههای گوگل (Google Apps Script) ویژگیهایی را ارائه میدهد که به تیمها کمک میکند تا اسکریپتها، افزونههای Google Workspace و برنامههای وب را با هم بسازند و نگهداری کنند. این راهنما همکاری فعال روی یک پروژه توسط چندین توسعهدهنده را پوشش میدهد؛ اگر میخواهید کدی را برای دیگران به اشتراک بگذارید تا در پروژههای خود بگنجانند، به جای آن به راهنمای کتابخانهها مراجعه کنید.
اصول اولیه همکاری
برای همکاری در یک پروژه، شما و همکارانتان باید همگی به فایل پروژه Apps Script (و کانتینر آن، در صورتی که یک اسکریپت محدود باشد) دسترسی ویرایشگر داشته باشید. این به همه اعضای تیم شما اجازه میدهد کد Apps Script را ببینند و در آن تغییراتی ایجاد کنند. ویرایشگران همچنین میتوانند نسخههای جدید کد ایجاد کنند، افزونهها را منتشر کنند و اسکریپتها را به عنوان برنامههای وب یا به عنوان فایلهای اجرایی برای API Apps Script مستقر کنند.
از قبل برنامهریزی کنید که چگونه ویرایش، بررسی، نسخهبندی و (در صورت لزوم) استقرار و انتشار پروژه، افزونه یا برنامه وب خود را مدیریت میکنید. پروژههای مستقل معمولاً سادهترین نوع همکاری هستند، زیرا مستقیماً در گوگل درایو نمایش داده میشوند و نوع پروژه توصیه شده برای توسعه افزونه و برنامه وب هستند.
یک مشکل رایج در همکاری زمانی رخ میدهد که صاحب پروژه اسکریپت، تیم را بدون انتقال مالکیت پروژه به شخص دیگری در تیم ترک میکند. این میتواند شما را قادر به نگهداری یا بهروزرسانی پروژه نکند. قرار دادن پروژه اسکریپت شما در یک درایو مشترک از این مشکل جلوگیری میکند، زیرا فایلهای موجود در یک درایو مشترک، صاحبان خاصی ندارند.
همیشه مالکیت پروژههای اسکریپت را به اشتراک بگذارید. اگر کسی سازمان شما را ترک کند و حساب کاربریاش حذف شود، دسترسی به اسکریپتهایی که مالک دیگری ندارند از بین میرود. اسکریپت خود را در Drive به اشتراک بگذارید یا آن را به یک درایو مشترک منتقل کنید .
همکاری با ابزار خط فرمان clasp
clasp به شما امکان میدهد پروژهها را بین script.google.com و سیستم فایل محلی خود همگامسازی کنید. این به شما امکان میدهد توسعه کد خود را ساده و خودکار کنید اگر شما و همکارانتان از نرمافزار مدیریت کنترل منبع مانند git استفاده میکنید.
برای جزئیات بیشتر، به رابط خط فرمان با استفاده از راهنمای clasp مراجعه کنید.
همکاری با درایوهای مشترک
درایوهای اشتراکی فقط برای مشتریان Google Workspace Business و Google Workspace Enterprise در دسترس هستند.
درایوهای اشتراکی، فضایی مشترک در درایو فراهم میکنند که در آن گروههای کاربران درایو میتوانند به طور مؤثرتری با یکدیگر همکاری کنند. فایلهایی که در یک درایو اشتراکی قرار میگیرند، متعلق به کل گروه هستند، نه افراد. این بدان معناست که وقتی یک همکار گروه را ترک میکند، مالکیت و کنترل فایلها را با خود نمیبرد.
درایوهای اشتراکی همچنین به شما امکان میدهند فایلها را بین دامنهها جابجا کنید - یک درایو اشتراکی در یک دامنه میتواند همکارانی از دامنه دیگر داشته باشد که میتوانند فایلها را از آن دامنه به درایو اشتراکی منتقل کنند. این امر ابزاری را برای یک تیم فراهم میکند تا افزونهها، برنامههای وب یا سایر کدها را برای مشتریان در دامنههای مختلف توسعه دهند.
وقتی از درایوهای مشترک برای همکاری در پروژههای Apps Script استفاده میکنید:
- همکارانی که به یک درایو مشترک دسترسی ویرایشگر دارند، میتوانند فایلهای جدید را ایجاد یا به درایو مشترک منتقل کنند. به عنوان ویرایشگر اسکریپت، آنها میتوانند پروژههای اسکریپت را مشاهده و ویرایش کنند، کد اسکریپت را اجرا کنند، نسخههای جدید اسکریپت ایجاد کنند و افزونهها را منتشر کنند.
- برای استقرار اسکریپتها به عنوان برنامههای وب یا فایلهای اجرایی برای API Apps Script ، حسابی که استقرار را ایجاد میکند باید متعلق به همان دامنهای باشد که درایو مشترکی که اسکریپت در آن قرار دارد، در آن قرار دارد.
- درایوهای اشتراکی به شما این امکان را میدهند که فایلهای خاصی را در درایو اشتراکی با دیگران خارج از گروه به اشتراک بگذارید و مجوزهای ویرایش و مشاهده آنها را در مورد آن فایلها مانند هر فایل Drive دیگری بهروزرسانی کنید. با این حال، اگر کاربری عضوی از تیمی باشد که درایو اشتراکی به آن تعلق دارد، نمیتوانید دسترسی او را برای فایلهای خاص کاهش دهید. به عنوان مثال، اگر کاربری دسترسی ویرایش به یک درایو اشتراکی دارد، نمیتوانید آن را به دسترسی فقط مشاهده برای یک فایل خاص در درایو اشتراکی تغییر دهید.
- همکارانی که به درایو مشترک دسترسی کامل دارند، میتوانند فایلها و پروژههای اسکریپت برنامهها را نیز حذف کنند و فایلها را از درایو مشترک خارج کنند.
- همه اسکریپتهای متصل به کانتینر از همان فهرستهای دسترسی نمایشگر و ویرایشگر تعریفشده برای فایل کانتینر استفاده میکنند. برای مثال، اگر به یک Google Sheet دسترسی ویرایش دارید، به هر کد پروژه Apps Script متصل به آن نیز دسترسی ویرایش دارید. قرار دادن چنین فایل کانتینری در یک درایو مشترک، به همکاران درایو مشترک همان دسترسی را به کد اسکریپت میدهد که به خود کانتینر دارند.
- وقتی یک پروژه اسکریپت در یک درایو مشترک قرار دارد، دسترسی به پروژه Google Cloud آن ممکن است محدود شود. برای جزئیات بیشتر به بخش راهنمای پروژههای Google Cloud و درایوهای مشترک مراجعه کنید.
- برنامههای وب مستقر در یک دامنه، در صورت تغییر مالکیت آنها به یک درایو مشترک یا حساب کاربری در دامنه دیگر، از کار میافتند. این مشکل را با انتقال اسکریپت به دامنه اصلی خود برطرف کنید.
- به طور مشابه، پروژههای اسکریپتی که به عنوان یک فایل اجرایی API اسکریپت برنامهها مستقر میشوند، در صورت انتقال از طریق درایو مشترک از یک دامنه به دامنه دیگر، هنگام فراخوانی توسط API، عملکرد خود را متوقف میکنند. این مشکل را با انتقال اسکریپت به دامنه اصلی خود برطرف کنید.
همکاری با یک پوشه مشترک
اگر یک پروژه Apps Script را ایجاد یا به یک پوشه مشترک منتقل میکنید، احتیاط کنید. مطمئن شوید که پوشه فقط با افراد مورد اعتماد به اشتراک گذاشته شده است.
اگر نمیتوانید با یک درایو مشترک همکاری کنید، به جای آن از یک پوشه مشترک استفاده کنید. وقتی یک پروژه Apps Script را به یک پوشه Drive که افراد دیگر میتوانند به آن دسترسی داشته باشند، ایجاد یا منتقل میکنید، آنها همان دسترسی را که به پوشه دارند، به پروژه Apps Script نیز به ارث میبرند. به عنوان مثال:
- اگر کسی دسترسی ویرایش به پوشه را داشته باشد، میتواند پروژه Apps Script را ویرایش یا حذف کند و اسکریپت را اجرا کند.
- اگر کسی فقط دسترسی مشاهده به پوشه را داشته باشد، میتواند پروژه Apps Script را مشاهده و اسکریپت را اجرا کند.
همکاری در اشتراکگذاری پروژه
با اشتراکگذاری مستقیم پروژه با همه همکاران، در یک پروژه همکاری کنید. پروژههای اسکریپتی را که در پوشههای معمولی درایو یا درایوهای مشترک قرار دارند، مستقیماً به اشتراک بگذارید. با دقت برنامهریزی کنید که چه کسی در طول زمان مالک و نگهدارنده اسکریپت باشد.
پروژههای مستقل در درایو به صورت یک فایل ظاهر میشوند؛ آنها را مانند هر فایل دیگری به اشتراک بگذارید. برای اطلاعات بیشتر، به اشتراکگذاری فایلها و پوشهها مراجعه کنید.
پروژههای متصل به کانتینر در درایو قابل مشاهده نیستند. برای اشتراکگذاری یک پروژه متصل به کانتینر، فایل کانتینر والد را به اشتراک بگذارید. برای مثال، اگر اسکریپتی به یک صفحه گسترده Google Sheets متصل است، با تبدیل کردن کسی به ویرایشگر صفحه گسترده، او را به ویرایشگر اسکریپت تبدیل کنید. پروژههای متصل به کانتینر، تنظیمات دسترسی بیننده و ویرایشگر فایل کانتینر خود را به ارث میبرند.
تمام اسکریپتهای متصل به کانتینر از لیست دسترسی مالک، نمایشگر و ویرایشگر یکسانی که برای فایل کانتینر تعریف شده است، استفاده میکنند . مالک کانتینر، صرف نظر از اینکه چه کسی یک پروژه اسکریپت جدید را ایجاد کرده است، مالکیت آن را در اختیار میگیرد.
منابع همکاری و پروژه
منابع، موجودیتهایی هستند که با پروژه شما مرتبط هستند اما مستقل از کد آن وجود دارند. این بخش توضیح میدهد که چگونه همکاری در یک پروژه بر منابع آن، به ویژه: پروژه Google Cloud، تریگرها، کتابخانهها و ویژگیهای کاربر، تأثیر میگذارد.
همکاری و پروژههای گوگل کلود
هر پروژه اسکریپت برنامهها یک پروژه گوگل کلود مرتبط دارد. پروژههای گوگل کلود مجموعه مالکان، ویرایشگران و سایر نقشهای خاص خود را دارند که میتوانند با مجموعه کاربرانی که میتوانند به پروژه اسکریپت دسترسی داشته باشند، متفاوت باشند.
همکاری و محرکها
وقتی در یک پروژه همکاری میکنید، هیچ تریگر قابل نصبی که ایجاد میکنید با کسانی که به پروژه شما دسترسی دارند به اشتراک گذاشته نمیشود. اگر نیاز به تنظیم تریگر ثابت برای همه همکاران دارید، از سرویس اسکریپت برای ایجاد تریگرها به صورت برنامهنویسی شده، در زمان اجرا، استفاده کنید. برای اطلاعات بیشتر، به مدیریت تریگرها به صورت برنامهنویسی شده مراجعه کنید.
از آنجایی که تریگرهای ساده از کد ایجاد میشوند، با همکاران پروژه به اشتراک گذاشته میشوند .
همکاری و کتابخانهها
کتابخانههای موجود در پروژه شما برای همکاران پروژه در دسترس هستند. با این حال، اگر آنها حداقل دسترسی سطح خواندن به یک کتابخانه موجود را نداشته باشند، نمیتوانند از آن کتابخانهها استفاده کنند - در این صورت اسکریپت خطا میدهد. برای اطلاعات بیشتر در مورد کتابخانهها، به مدیریت کتابخانهها مراجعه کنید.
همکاری و ویژگیهای کاربر
ویژگیهای کاربر منحصر به کاربری است که آنها را ایجاد کرده است. این بدان معناست که همکاران پروژه نمیتوانند ویژگیهای کاربر شما را ببینند یا به آنها دسترسی داشته باشند و شما نیز نمیتوانید ویژگیهای آنها را ببینید یا به آنها دسترسی داشته باشید. اگر میخواهید ویژگیهای خاص پروژه را با همکاران به اشتراک بگذارید، از ویژگیهای اسکریپت استفاده کنید. برای اطلاعات بیشتر، به راهنمای ویژگیها مراجعه کنید.