שיתוף פעולה עם מפתחים אחרים

ב-Apps Script יש כמה תכונות שיעזרו לכם ולמפתחים אחרים ליצור ולתחזק יחד סקריפטים, תוספים ואפליקציות אינטרנט.

מידע בסיסי על שיתוף פעולה

כדי לשתף פעולה בפרויקט, לכם ולשותפי העריכה שלכם צריכה להיות גישה לעריכה של קובץ הפרויקט ב-Apps Script (ולקונטיינר שלו, אם מדובר בסקריפט מצורף). כך כל חברי הצוות יוכלו לראות את הקוד של Apps Script ולבצע בו שינויים. עורכי סקריפטים יכולים גם ליצור גרסאות קוד חדשות, לפרסם תוספים ולפרוס סקריפטים בתור אפליקציות אינטרנט או כקובצי הפעלה ל-Apps Script API.

כדי לעזור לצוות, כדאי לתכנן מראש איך לטפל בעריכה, בבדיקה, בניהול הגרסאות (אם רלוונטי) ובפריסה ובפרסום של הפרויקט, התוסף או אפליקציית האינטרנט. בדרך כלל הכי קל לשתף פעולה בפרויקטים עצמאיים, כי הם מופיעים ישירות ב-Google Drive והם סוג הפרויקט המומלץ לפיתוח תוספים ואפליקציות אינטרנט.

בעיה נפוצה בשיתוף פעולה מתרחשת כשבעלים של פרויקט סקריפט יוצא מהצוות בלי להעביר את הבעלות על הפרויקט למישהו אחר בצוות. כתוצאה מכך, יכול להיות שלא תוכלו לתחזק או לעדכן את הפרויקט. כדי למנוע את הבעיה הזו, כדאי להציב את פרויקט הסקריפט באחסון שיתופי, כי לקבצים באחסון שיתופי אין בעלים ספציפיים.

שיתוף פעולה באמצעות הכלי בשורת הפקודה clasp

clasp מאפשר לסנכרן פרויקטים בין script.google.com לבין מערכת הקבצים המקומית. כך תוכלו לייעל את פיתוח הקוד ולהפוך אותו לאוטומטי, אם אתם ושותפי העריכה שלכם משתמשים בתוכנה לניהול בקרת מקורות כמו git.

לפרטים נוספים, אפשר לעיין במדריך לממשק שורת הפקודה באמצעות clasp.

עבודה משותפת באמצעות תיקיות אחסון שיתופי

אחסון שיתופי (לשעבר 'אחסון צוותי') הוא מרחב משותף ב-Google Drive שבו קבוצות של משתמשי Drive יכולות לשתף פעולה בצורה יעילה יותר. הקבצים ששמורים באחסון השיתופי שייכים לקבוצה כולה, ולא למשתמשים ספציפיים. כלומר, כששותף עזב את הקבוצה, הוא לא לוקח איתו את הבעלות על הקבצים ואת השליטה בהם.

תיקיות אחסון שיתופי מאפשרות גם להעביר קבצים בין דומיינים – בתיקיית אחסון שיתופי בדומיין אחד יכולים להיות שותפי עריכה מדומיין אחר, שיכולים להעביר קבצים מהדומיין הזה לתיקיית האחסון השיתופי. האפשרות הזו יכולה להיות שימושית מאוד למפתחי Apps Script, כי היא מספקת דרך לצוות לפתח תוספים, אפליקציות אינטרנט או קוד אחר ללקוחות בדומיינים שונים.

כשמשתמשים בתיקיות אחסון שיתופי כדי לשתף פעולה בפרויקטים של Apps Script, חשוב לזכור את הדברים הבאים:

  1. משתפי פעולה שיש להם הרשאת עריכה באחסון השיתופי יכולים ליצור או להעביר קבצים חדשים לאחסון השיתופי. בתור עורכים של סקריפטים, הם יכולים להציג ולערוך פרויקטים של סקריפטים, להריץ קוד של סקריפטים, ליצור גרסאות חדשות של סקריפטים ולפרסם תוספים.
  2. כדי לפרוס סקריפטים כאפליקציות אינטרנט או כקובצי הפעלה ל-Apps Script API, החשבון שיוצר את הפריסה צריך להיות שייך לאותו דומיין שבו נמצא הכונן המשותף שבו נמצא הסקריפט.
  3. תיקיות אחסון שיתופי מאפשרות לכם לשתף קבצים ספציפיים באחסון השיתופי עם אנשים מחוץ לקבוצה, ולעדכן את ההרשאות שלהם לעריכה ולהצגה של הקבצים האלה, כמו בכל קובץ אחר ב-Drive. עם זאת, אם משתמש הוא חלק מהצוות שאחסון השיתופי שייך אליו, אי אפשר לצמצם את הגישה שלו לקבצים ספציפיים. לדוגמה, אם למשתמש יש הרשאת עריכה באחסון שיתופי, אי אפשר לשנות את ההרשאה הזו לגישה לצפייה בלבד בקובץ ספציפי באחסון השיתופי.
  4. משתפי פעולה שיש להם גישה מלאה לאחסון השיתופי יכולים גם למחוק קבצים ופרויקטים של Apps Script ולהעביר קבצים מחוץ לאחסון השיתופי.
  5. כל הסקריפטים שמצורפים לקונטיינר משתמשים באותן רשימות גישה לצפייה ולעריכה שמוגדרות לקובץ הקונטיינר. לדוגמה, אם יש לכם גישת עריכה בגיליון אלקטרוני ב-Google Sheets, תהיה לכם גם גישת עריכה לכל קוד של פרויקט Apps Script שמצורף אליו. אם תוסיפו קובץ קונטיינר כזה לאחסון שיתופי, לשותפי הגישה לאחסון השיתופי תהיה גישה לקוד הסקריפט כמו שיש להם לקונטיינר עצמו.
  6. כשפרויקט סקריפט נמצא בספרייה משותפת, יכול להיות שהגישה לפרויקט Cloud Platform ‏ (GCP) שלו תהיה מוגבלת. פרטים נוספים זמינים בקטע פרויקטים ב-GCP ואחסון שיתופי במדריך.
  7. אפליקציות אינטרנט שנפרסו בדומיין אחד מפסיקות לפעול אם הבעלות עליהן משתנה לחשבון או לספרייה משותפים בדומיין אחר. כדי לתקן את הבעיה, צריך להעביר את הסקריפט בחזרה לדומיין המקורי שלו.
  8. באופן דומה, פרויקטים של סקריפטים שפורסים כקובץ הפעלה של Apps Script API מפסיקים לפעול כשה-API קורא להם אם הם מועברים דרך אחסון משותף מדומיין אחד לדומיין אחר. כדי לתקן את הבעיה, צריך להעביר את הסקריפט חזרה לדומיין המקורי שלו.

עבודה משותפת באמצעות תיקייה משותפת

אם אתם לא יכולים לשתף פעולה באחסון שיתופי, תוכלו להשתמש בתיקייה משותפת במקום זאת. כשאתם יוצרים או מעבירים פרויקט של Apps Script לתיקייה ב-Google Drive שאנשים אחרים יכולים לגשת אליה, הם יורשים את אותה הרשאת גישה לפרויקט של Apps Script שיש להם לתיקייה. לדוגמה:

  • אם למישהו יש גישת עריכה לתיקייה, הוא יכול לערוך או למחוק את פרויקט Apps Script ולהריץ את הסקריפט.
  • אם למישהו יש גישה לתיקייה רק לצפייה, הוא יכול לראות את הפרויקט ב-Apps Script ולהריץ את הסקריפט.

עבודה משותפת באמצעות שיתוף פרויקטים

כדי לעבוד יחד על פרויקט, אפשר לשתף אותו ישירות עם כל שותפי העריכה. אתם יכולים לשתף ישירות פרויקטים של סקריפטים שנמצאים בתיקיות רגילות ב-Google Drive או באחסון שיתופי. אם אתם משתמשים בשיטה הזו, מומלץ לתכנן היטב מי יהיה הבעלים של הסקריפט ומי יטפל בו לאורך זמן.

פרויקטים עצמאיים מופיעים ב-Google Drive כקובץ, ואפשר לשתף אותם כמו כל קובץ אחר. מידע נוסף זמין במאמר שיתוף קבצים ותיקיות.

פרויקטים בקונטיינרים לא מוצגים ב-Google Drive. כדי לשתף פרויקט בקונטיינר, משתפים את קובץ הקונטיינר ההורה. לדוגמה, אם יש לכם סקריפט שמקושר לגיליון אלקטרוני ב-Google Sheets, תוכלו להעניק לאדם מסוים הרשאת עריכה של הסקריפט על ידי הענקת הרשאת עריכה של הגיליון האלקטרוני. פרויקטים שמצורפים למאגרים יורשים את הגדרות הגישה של הצופים והעורכים של קובץ המאגר.

כל הסקריפטים שמצורפים למאגר התגים משתמשים באותה רשימת הרשאות גישה לבעלים, לצופים ולעורכים שמוגדרת לקובץ המאגר. הבעלים של הקונטיינר מקבל בעלות על פרויקט סקריפט חדש, ללא קשר לזה שיצר אותו.

שיתוף פעולה ומשאבי פרויקטים

משאבים הם ישויות שמשויכות לפרויקט אבל קיימות בנפרד מהקוד שלו. בקטע הזה נסביר איך שיתוף פעולה בפרויקט משפיע על המשאבים שלו, ובמיוחד על הפרויקט ב-Cloud Platform, על הטריגרים, על הספריות ועל מאפייני המשתמש.

שיתוף פעולה ופרויקטים ב-Google Cloud

לכל פרויקט ב-Apps Script יש פרויקט ב-Google Cloud שמשויך אליו. לפרויקטים ב-Google Cloud יש קבוצה משלהם של בעלים, עורכים ותפקידים אחרים, שעשויה להיות שונה מקבוצת המשתמשים שיש להם גישה לפרויקט הסקריפט.

אם אתם מתכננים לפרסם את פרויקט הסקריפט בתור תוסף, עליכם להשתמש בפרויקט רגיל ב-Google Cloud. כשעובדים בשיתוף על אפליקציה שמשתמשת בפרויקט רגיל ב-Google Cloud, מומלץ להגדיר את הבעלים והתפקידים ב-Google Cloud כדי לוודא שלכל השותפים יש את רמות הגישה המתאימות. כך תוכלו למנוע מצבים שבהם תאבדו את הגישה להגדרות של הפרויקט ב-Cloud כי הבעלים שלו כבר לא בארגון. הדבר חשוב במיוחד במקרה של חבילות ערוצים.

שיתוף פעולה וטריגרים

כשעובדים בשיתוף פעולה על פרויקט, טריגרים שניתן להתקין שאתם יוצרים לא משותפים עם אנשים שיש להם גישה לפרויקט. אם אתם צריכים להגדיר טריגר עקבי לכל השותפים, תוכלו להשתמש בשירות הסקריפטים כדי ליצור טריגרים באופן פרוגרמטי, בזמן הריצה. מידע נוסף זמין במאמר ניהול טריגרים באופן פרוגרמטי.

שיתוף פעולה וספריות

ספריות שכלולות בפרויקט זמינות לשותפי העריכה של הפרויקט. עם זאת, אם אין להם גישה ברמת קריאה לפחות לספרייה כלולה, הם לא יכולים להשתמש בספריות האלה – במקרה כזה, הסקריפט יוצר הודעת שגיאה. מידע נוסף על ספריות זמין במאמר ניהול ספריות.

שיתוף פעולה ומאפייני משתמשים

מאפייני משתמש הם ייחודיים למשתמש שיצר אותם. המשמעות היא ששותפי העבודה בפרויקט לא יכולים לראות את מאפייני המשתמשים שלכם או לגשת אליהם, ואתם לא יכולים לראות את מאפייני המשתמשים שלהם או לגשת אליהם. אם רוצים לשתף עם השותפים מאפיינים ספציפיים לפרויקט, צריך להשתמש במאפייני סקריפט. למידע נוסף, עיינו במדריך בנושא נכסים.