ניהול פרויקטים באמצעות Google Chat, Vertex AI ו-Firestore

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

  • אם מתייגים את האפליקציה לניהול פרויקטים, האפליקציה מציעה עזרה.
    איור 1. צ'ארלי דן עם הצוות שלו בפיתוח תכונות במרחב ב-Chat. אם מזכירים את אפליקציית Chat לניהול פרויקטים, אפליקציית Chat מציעה עזרה.
  • משתמשים בפקודה כדי לתקשר עם אפליקציות /createUserStory כדי ליצור סיפור.
    איור 2. צ'ארלי משתמש בפקודה /createUserStory כדי ליצור כתבה.
  • אפליקציית הצ'אט לניהול פרויקטים משתמשת ב-Vertex AI כדי לכתוב את תיאור הסיפור.
    איור 3. אפליקציית הצ'אט לניהול פרויקטים משתמשת ב-Vertex AI כדי לכתוב את תיאור הסיפור, ואז משתפת את הסיפור במרחב.
  • צדוק מסיים את פרטי הסיפור.
    איור 4. צ'ארלי לוחץ על עריכה כדי לסיים את פרטי הסיפור. התיאור שנוצר על ידי ה-AI מדויק, אבל צ'ארלי רוצה פרטים נוספים, אז הוא לוחץ על הרחבה כדי ש-Vertex AI יוסיף דרישות לתיאור הסיפור. צ'ארלי מקצה את הסיפור לעצמו, מגדיר את הסטטוס ל'התחיל', בוחר עדיפות וגודל מתאימים ולוחץ על שמירה.
  • ניהול כל סיפורי המשתמשים של הצוות.
    איור 5. בכל שלב, צ'ארלי יכול לראות ולנהל את כל סיפורי המשתמשים של הצוות באמצעות /manageUserStoriesפקודת הלוכס
    .

דרישות מוקדמות

מטרות

  • ליצור אפליקציה ל-Chat לניהול פרויקטים של תוכנה בשיטת Agile.
  • עזרה למשתמשים בכתיבת סיפורי משתמשים באמצעות כלים לכתיבת סיפורים בעזרת AI גנרטיבי שמבוססים על Vertex AI:
    • ליצור מחדש תיאורים לסיפורים.
    • הרחבת תיאורי הסיפורים מההערות כדי להשלים את הדרישות.
    • תיקון שגיאות דקדוק כדי לתקן שגיאות הקלדה.
  • כדי שהעבודה תהיה עדכנית, אפשר לכתוב למסד נתונים של Firestore ולקרוא ממנו.
  • אפשר להקל על שיתוף הפעולה במרחב ב-Chat ולאפשר למשתמשים ליצור, לערוך, להקצות ולהתחיל סטוריז ישירות מהשיחה.

המוצרים שהשתמשו בהם

אפליקציית ניהול הפרויקטים משתמשת במוצרי Google Workspace ובמוצרי Google Cloud הבאים:

  • Chat API: ‫API לפיתוח אפליקציות ל-Google Chat שמקבלות אירועי אינטראקציה ב-Chat, כמו הודעות, ומגיבות להם. אפליקציית Google Chat לניהול פרויקטים משתמשת ב-Chat API כדי לקבל אירועי אינטראקציה שנשלחים מ-Chat ולהגיב להם, וכדי להגדיר מאפיינים שקובעים איך היא תופיע ב-Chat, כמו שם ותמונת אווטאר.
  • Vertex AI API: פלטפורמה של AI גנרטיבי. אפליקציית Google Chat לניהול פרויקטים משתמשת ב-Vertex AI API כדי לכתוב כותרות ותיאורים של סיפורי משתמשים.
  • Firestore: מסד נתונים של מסמכים ללא שרת. אפליקציית Google Chat לניהול פרויקטים משתמשת ב-Firebase כדי לאחסן נתונים על סיפורי משתמשים.
  • Cloud Functions: שירות מחשוב קל משקל ללא שרת (serverless) שמאפשר ליצור פונקציות עצמאיות למטרה יחידה, שיכולות להגיב לאירועי אינטראקציה ב-Chat בלי צורך לנהל שרת או סביבת זמן ריצה. אפליקציית Google Chat לניהול פרויקטים משתמשת ב-Cloud Functions כדי לארח את נקודת הקצה של HTTP שאליה נשלחים אירועי אינטראקציה מ-Chat, וכפלטפורמת מחשוב להפעלת לוגיקה שמעבדת את האירועים האלה ומגיבה להם.

    ‫Cloud Functions משתמש במוצרי Google Cloud הבאים כדי לבנות, לעבד אירועי אינטראקציה ולארח משאבי מחשוב:

    • Cloud Build: פלטפורמה מנוהלת מלאה לאינטגרציה רציפה, לפיתוח רציף ולפריסה רציפה, שמריצה גרסאות build אוטומטיות.
    • Pub/Sub: שירות העברת הודעות אסינכרוני וניתן להרחבה שמפריד בין שירותים שמפיקים הודעות לבין שירותים שמעבדים את ההודעות האלה.
    • Cloud Run Admin API: סביבה מנוהלת להרצת אפליקציות בקונטיינרים.

ארכיטקטורה

ארכיטקטורת אפליקציית Google Chat לניהול פרויקטים מקבלת ומעבדת אירועי אינטראקציה ב-Chat בנקודת קצה של HTTP, משתמשת ב-Vertex AI כדי לכתוב סיפורי משתמשים, ומאחסנת פרטים של סיפורי משתמשים במסד נתונים של Firestore. בתרשים הבא מוצגת הארכיטקטורה של משאבי Google Workspace ו-Google Cloud שנעשה בהם שימוש.

תרשים הארכיטקטורה של אפליקציית ניהול הפרויקטים ל-Google Chat

כך פועלת אפליקציית ניהול הפרויקטים של Google Chat:

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

  2. ‫Chat שולח בקשת HTTP סינכרונית לנקודת הקצה של ה-HTTP של Cloud Function.

  3. אפליקציית Google Chat לניהול פרויקטים מעבדת את בקשת ה-HTTP:

    1. ‫Vertex AI עוזר לכתוב או לעדכן סיפור משתמש.

    2. מסד נתונים של Firestore מאחסן, מאחזר, מעדכן או מוחק נתונים של סיפור משתמש.

  4. ‫Cloud Functions מחזירה תגובת HTTP ל-Chat, שמוצגת למשתמש כהודעה או כתיבת דו-שיח.

הכנת הסביבה

בקטע הזה מוסבר איך ליצור ולהגדיר פרויקט ב-Google Cloud לאפליקציית Chat.

יצירת פרויקט של Google Cloud

מסוף Google Cloud

  1. במסוף Google Cloud, עוברים אל תפריט > IAM & Admin > Create a Project (יצירת פרויקט).

    כניסה לדף Create a Project

  2. בשדה Project Name (שם הפרויקט), מזינים שם תיאורי לפרויקט.

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

  3. בשדה Location, לוחצים על Browse כדי להציג מיקומים אפשריים לפרויקט. אחר כך לוחצים על בחירה.
  4. לוחצים על יצירה. מערכת Google Cloud מעבירה אתכם לדף Dashboard והפרויקט נוצר תוך כמה דקות.

CLI של gcloud

באחת מסביבות הפיתוח הבאות, ניגשים אל Google Cloud CLI‏ (gcloud):

  • Cloud Shell: כדי להשתמש בטרמינל אונליין שבו כבר מוגדר ה-CLI של gcloud, צריך להפעיל את Cloud Shell.
    הפעלת Cloud Shell
  • מעטפת מקומית: כדי להשתמש בסביבת פיתוח מקומית צריך להתקין ולהפעיל את ה-CLI של gcloud.
    כדי ליצור פרויקט ב-Cloud, משתמשים בפקודה gcloud projects create:
    gcloud projects create PROJECT_ID
    מחליפים את PROJECT_ID במזהה של הפרויקט שרוצים ליצור.

הפעלת החיוב בפרויקט ב-Cloud

מסוף Google Cloud

  1. במסוף Google Cloud, נכנסים לדף Billing. לוחצים על תפריט > חיוב > הפרויקטים שלי.

    לדף Billing for My Projects

  2. בקטע Select an organization (בחירת ארגון), בוחרים את הארגון שמשויך לפרויקט Google Cloud.
  3. בשורת הפרויקט, פותחים את התפריט Actions (), לוחצים על Change billing ובוחרים את חשבון החיוב ב-Cloud.
  4. לוחצים על Set account.

CLI של gcloud

  1. כדי להציג רשימה של החשבונות לחיוב שזמינים לכם, מריצים את הפקודה:
    gcloud billing accounts list
  2. קישור חשבון לחיוב לפרויקט ב-Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID הוא מזהה הפרויקט של פרויקט Cloud שרוצים להפעיל בו חיוב.
    • BILLING_ACCOUNT_ID הוא המזהה של החשבון לחיוב שאליו רוצים לקשר את הפרויקט ב-Google Cloud.

הפעלת ממשקי ה-API

מסוף Google Cloud

  1. במסוף Google Cloud, מפעילים את Google Chat API,‏ Vertex AI API,‏ Cloud Functions API,‏ Firestore API,‏ Cloud Build API,‏ Pub/Sub API ו-Cloud Run Admin API.

    הפעלת ממשקי ה-API

  2. מוודאים שמפעילים את ממשקי ה-API בפרויקט הנכון ב-Cloud ולוחצים על הבא.

  3. מוודאים שמפעילים את ממשקי ה-API הנכונים ולוחצים על הפעלה.

CLI של gcloud

  1. אם צריך, מגדירים את פרויקט Cloud הנוכחי לפרויקט שיצרתם באמצעות הפקודה gcloud config set project:

    gcloud config set project PROJECT_ID

    מחליפים את PROJECT_ID במזהה הפרויקט של פרויקט Cloud שיצרתם.

  2. מפעילים את Google Chat API, את Vertex AI API, את Cloud Functions API, את Firestore API, את Cloud Build API, את Pub/Sub API ואת Cloud Run Admin API באמצעות הפקודה gcloud services enable:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    run.googleapis.com

    ממשקי Cloud Build,‏ Pub/Sub ו-Cloud Run Admin API הם דרישות מוקדמות ל-Cloud Functions.

אימות והרשאה

לא צריך להגדיר אימות והרשאה כדי לפעול לפי ההדרכה הזו.

במדריך הזה נעשה שימוש בפרטי כניסה שמוגדרים כברירת מחדל לאפליקציה כדי להפעיל את ממשקי ה-API של Firestore ו-Vertex AI. פרטי הכניסה האלה משויכים לחשבון השירות שמוגדר כברירת מחדל ומצורף ל-Cloud Function, כך שלא צריך להגדיר אותם. בסביבת ייצור, בדרך כלל יוצרים ומצרפים חשבון שירות לפונקציה של Cloud Functions.

יצירה ופריסה של אפליקציית Google Chat

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

  1. יוצרים מסד נתונים של Firestore שבו יאוחסנו סיפורי המשתמשים ויוכלו לאחזר אותם.
  2. אופציונלי: בודקים את הקוד לדוגמה.
  3. יוצרים פונקציה של Cloud Functions כדי לארח ולהריץ את הקוד של אפליקציית הצ'אט בתגובה לאירועים שמתקבלים מ-Chat כבקשות HTTP.
  4. יוצרים ופורסים אפליקציית Google Chat בדף ההגדרות של Google Chat API.

יצירת מסד נתונים ב-Firestore

בקטע הזה יוצרים מסד נתונים של Firestore כדי לשמור ולאחזר סיפורי משתמש, אבל לא מגדירים את מודל הנתונים. מודל הנתונים מוגדר באופן מרומז בקוד לדוגמה על ידי הקבצים model/user-story.js ו-model/user.js.

מסד הנתונים של אפליקציית ניהול הפרויקטים ב-Chat משתמש במודל נתונים של NoSQL שמבוסס על מסמכים שמסודרים ב אוספים. מידע נוסף מופיע במאמר מודל הנתונים של Firestore.

בתרשים הבא מוצג סקירה כללית של מודל הנתונים של אפליקציית ניהול הפרויקטים ב-Google Chat:

מודל הנתונים של מסד הנתונים ב-Firestore.

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

הצגת הגדרות של אוסף, מסמך ושדה

spaces

מרחבים שבהם אפליקציית Chat יצרה סיפורים.

שדות
Document IDString
מזהה ייחודי של מרחב ספציפי שבו נוצרים סטוריז. הערך תואם לשם המשאב של המרחב ב-Chat API.
userStoriesSubcollection of Documents (userStories)
סטוריז שנוצרו על ידי אפליקציית Chat והמשתמשים שלה. תואם ל-Document ID של userStories ב-Firebase.
usersSubcollection of Documents (user)
משתמשים שיצרו סטורי או שהוקצו להם סטורי.
displayNameString
השם המוצג של המרחב ב-Chat API. לא מוגדר לצ'אטים ישירים עם משתמשים.

userStories

סטוריז שנוצרו על ידי אפליקציית Chat והמשתמשים שלה.

שדות
Document IDString
מזהה ייחודי של סיפור משתמש ספציפי שנוצר על ידי אפליקציית הצ'אט והמשתמשים שלה.
assigneeDocument (user)
שם המשאב של המשתמש שהוקצה להשלמת הסיפור. תואם ל-Document ID של מסמך users ולשם המשאב של המשתמש ב-Chat API.
descriptionString
תיאור של תכונת התוכנה מנקודת המבט של המשתמש.
priorityEnum
הדחיפות של השלמת העבודה. הערכים האפשריים הם Low,‏ Medium או High.
sizeEnum
כמות העבודה. הערכים האפשריים הם Small,‏ Medium או Large.
statusEnum
שלב העבודה. הערכים האפשריים הם OPEN,‏ STARTED או COMPLETED.
titleString
הכותרת של הסיפור; סיכום קצר.

users

משתמשים שיצרו סיפורים או שהוקצו להם סיפורים.

שדות
Document IDString
מזהה ייחודי של משתמש ספציפי. תואם לassignee של userStories ב-Firebase ולשם המשאב של המשתמש ב-Chat API.
avatarUrlString
כתובת ה-URL שבה מתארחת תמונת הדמות של המשתמש ב-Chat.
displayNameString
השם המוצג של המשתמש ב-Chat.

כך יוצרים את מסד הנתונים של Firestore:

מסוף Google Cloud

  1. במסוף Google Cloud, עוברים אל Firestore. לוחצים על תפריט > Firestore.

    כניסה אל Firestore

  2. לוחצים על יצירת מסד נתונים.

  3. בקטע Select your Firestore mode (בחירת מצב Firestore), לוחצים על Native mode (מצב מקורי).

  4. לוחצים על המשך.

  5. מגדירים את מסד הנתונים:

    1. בקטע Name your database (מתן שם למסד הנתונים), משאירים את Database ID (מזהה מסד הנתונים) כ-(default).

    2. בשדה Location type, מציינים אזור למסד הנתונים, למשל us-central1. כדי לקבל את הביצועים הטובים ביותר, כדאי לבחור את אותו מיקום או מיקום סמוך למיקום של פונקציית הענן של אפליקציית הצ'אט.

  6. לוחצים על יצירת מסד נתונים.

CLI של gcloud

  • יוצרים מסד נתונים של Firestore במצב Native באמצעות הפקודה gcloud firestore databases create:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native

    מחליפים את LOCATION בשם של אזור ב-Firestore, כמו us-central1.

בדיקת קוד לדוגמה

אופציונלי: לפני שיוצרים את Cloud Function, כדאי לעיין בקוד לדוגמה שמתארח ב-GitHub ולהכיר אותו.

הצגת הקוד ב-GitHub

סקירה כללית של כל קובץ:

env.js
משתני תצורה של הסביבה לפריסת אפליקציית Chat לפרויקט ולאזור ספציפיים ב-Google Cloud. צריך לעדכן את משתני התצורה בקובץ הזה.
package.json וגם package-lock.json
הגדרות הפרויקט ויחסי התלות של Node.js.
index.js
נקודת הכניסה לפונקציה של Cloud Functions של אפליקציית Chat. הוא קורא את אירוע הצ'אט מבקשת ה-HTTP, מפעיל את handler האפליקציה ומפרסם את תגובת ה-HTTP כאובייקט JSON.
controllers/app.js
הלוגיקה העיקרית של האפליקציה. עיבוד אירועי האינטראקציה באמצעות טיפול בתיוגים של אפליקציית Chat ובפקודות. כדי להגיב לקליקים על כרטיסים, הפונקציה app-action-handler.js מופעלת.
controllers/app-action-handler.js
לוגיקת אפליקציה לטיפול בקליק על כרטיס אירועי אינטראקציה ב-Chat.
services/space-service.js,‏ services/user-service.js וגם services/user-story-service.js
הקבצים האלה מכילים את החלקים של לוגיקת האפליקציה שספציפיים לעבודה עם מרחבים ב-Chat, משתמשים וסיפורי משתמשים. הפונקציות בקבצים האלה נקראות על ידי app.js או app-action-handler.js. כדי לבצע פעולות במסד הנתונים, הפונקציות בקבצים האלה קוראות לפונקציות ב-firestore-service.js.
services/firestore-service.js
Handles database operations. הפונקציות בקובץ הזה נקראות על ידי services/space-service.js,‏ services/user-service.js ו-services/user-story-service.js.
services/aip-service.js
קורא ל-Vertex AI API כדי לקבל תחזית של טקסט גנרטיבי מ-AI.
model/*.js
הקבצים האלה מכילים את ההגדרה של מחלקות וסוגי נתונים שהשירותים של האפליקציה משתמשים בהם כדי לאחסן נתונים ולהעביר אותם בין פונקציות. הם מגדירים את מודל הנתונים של מסד הנתונים ב-Firestore.
views/*.js
כל קובץ בספרייה הזו יוצר אובייקט כרטיס שאפליקציית Chat שולחת בחזרה ל-Chat בתור הודעת כרטיס או תגובה לפעולת דיאלוג.
views/widgets/*.js
כל קובץ יוצר מופע של אובייקט מסוג ווידג'ט שהאפליקציה משתמשת בו כדי ליצור את הכרטיסים בספרייה views/.
test/**/*.test.js
כל קובץ בספרייה הזו ובספריות המשנה שלה מכיל את בדיקות היחידות (unit testing) של הפונקציה, בקר, שירות, תצוגה או ווידג'ט התואמים. כדי להריץ את כל בדיקות היחידות, מריצים את הפקודה npm run test כשנמצאים בספריית הבסיס של הפרויקט.

יצירה ופריסה של הפונקציה של Cloud Functions

בקטע הזה יוצרים ופורסים Cloud Function שכולל את הלוגיקה של האפליקציה לניהול פרויקטים ב-Chat.

פונקציית Cloud Functions פועלת בתגובה לבקשת HTTP מ-Chat שמכילה אירוע אינטראקציה ב-Chat. כשמריצים את הקוד של Cloud Function, הוא מעבד את האירוע ומחזיר תשובה ל-Chat. התשובה מוצגת ב-Chat כהודעה, כתיבת דיאלוג או כסוג אחר של אינטראקציה עם המשתמש. במקרה הרלוונטי, פונקציית Cloud גם קוראת מתוך מסד הנתונים של Firestore או כותבת לתוכו.

כך יוצרים את פונקציית הענן:

מסוף Google Cloud

  1. מורידים את הקוד מ-GitHub כקובץ ZIP.

    הורדת קובץ ה-ZIP

  2. מחלצים את קובץ ה-ZIP שהורד.

    התיקייה שחולצה מכילה את כל מאגר הדוגמאות של Google Workspace.

  3. בתיקייה שחולצה, עוברים אל google-chat-samples-main/node/project-management-app/ ואז דוחסים את התיקייה project-management-app לקובץ ZIP.

    ספריית הבסיס של קובץ ה-ZIP חייבת להכיל את הקבצים והתיקיות הבאים:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. במסוף Google Cloud, נכנסים לדף Cloud Functions:

    כניסה לדף Cloud Functions

    מוודאים שהפרויקט ב-Google Cloud של אפליקציית Chat נבחר.

  5. לוחצים על יצירת פונקציה.

  6. בדף Create function (יצירת פונקציה), מגדירים את הפונקציה:

    1. בקטע Environment (סביבה), בוחרים באפשרות Cloud Run Function (פונקציית Cloud Run).
    2. בשדה שם הפונקציה, מזינים project-management-tutorial.
    3. בקטע אזור, בוחרים אזור.
    4. בקטע אימות, בוחרים באפשרות התרת הפעלות לא מאומתות.
    5. לוחצים על הבא.
  7. בקטע סביבת זמן ריצה, בוחרים באפשרות Node.js 20.

  8. בקטע נקודת כניסה, מוחקים את טקסט ברירת המחדל ומזינים projectManagementChatApp.

  9. בקטע קוד מקור, בוחרים באפשרות העלאת קובץ ZIP.

  10. בקטע Destination bucket, יוצרים או בוחרים קטגוריה:

    1. לוחצים על מה מעניין אותך היום?
    2. בוחרים קטגוריה.
    3. לוחצים על בחירה.

    ‫Google Cloud מעלה את קובץ ה-ZIP ומחלץ את קובצי הרכיבים בקטגוריה הזו. לאחר מכן, שירות Cloud Functions מעתיק את קובצי הרכיב לפונקציה של Cloud Functions.

  11. בקטע Zip file (קובץ ZIP), מעלים את קובץ ה-ZIP שהורדתם מ-GitHub, חילצתם ודחסתם מחדש:

    1. לוחצים על מה מעניין אותך היום?
    2. מנווטים אל קובץ ה-ZIP ובוחרים בו.
    3. לוחצים על פתיחה.
  12. לוחצים על פריסה.

    ייפתח הדף Cloud Functions detail (פרטי Cloud Functions), והפונקציה תופיע עם שני אינדיקטורים להתקדמות: אחד לבנייה ואחד לשירות. כששני סימני ההתקדמות נעלמים ומוחלפים בסימן וי, הפונקציה מוכנה לפריסה.

  13. עורכים את הקוד לדוגמה כדי להגדיר קבועים:

    1. בדף Cloud Function detail (פרטי Cloud Function), לוחצים על Edit (עריכה).
    2. לוחצים על הבא.
    3. בקטע קוד מקור, בוחרים באפשרות עורך בשורה.
    4. בעורך המוטבע, פותחים את הקובץ env.js.
    5. מחליפים את project-id במזהה הפרויקט ב-Cloud.
    6. אופציונלי: מעדכנים את us-central1 עם מיקום נתמך עבור Cloud Function.
  14. לוחצים על פריסה.

  15. כשהפריסה של הפונקציה מסתיימת, מעתיקים את כתובת ה-URL של הטריגר:

    1. בדף פרטי הפונקציה, לוחצים על טריגר.
    2. מעתיקים את כתובת ה-URL. תצטרכו אותו כדי להגדיר את אפליקציית Chat בקטע הבא.

CLI של gcloud

  1. משכפלים את הקוד מ-GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
  2. עוברים לספרייה שמכילה את הקוד של אפליקציית Chat לניהול הפרויקט הזה:

    cd google-chat-samples/node/project-management-app
  3. עורכים את הקובץ env.js כדי להגדיר משתני סביבה:

    1. מחליפים את project-id במזהה הפרויקט ב-Google Cloud.
    2. מחליפים את us-central1 במיקום של הפרויקט ב-Google Cloud.
  4. פורסים את הפונקציה של Cloud Functions ב-Google Cloud:

    gcloud functions deploy project-management-tutorial \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=projectManagementChatApp \
    --trigger-http \
    --allow-unauthenticated

    מחליפים את REGION במיקום של Cloud Functions שבו התשתית מתארחת, כמו us-central1.

  1. כשהפונקציה מסיימת את הפריסה, מעתיקים את המאפיין url מהתגובה. זו כתובת ה-URL של הטריגר שבה תשתמשו בקטע הבא כדי להגדיר את אפליקציית Google Chat.

הגדרת אפליקציית Google Chat במסוף Google Cloud

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

  1. במסוף Google Cloud, לוחצים על תפריט > מוצרים נוספים > Google Workspace > ספריית מוצרים > Google Chat API > ניהול > הגדרה.

    כניסה להגדרות של Chat API

  2. בשדה App name, כותבים Project Manager.

  3. בקטע כתובת ה-URL של הדמות, מקלידים https://developers.google.com/chat/images/quickstart-app-avatar.png.

  4. בתיאור, מקלידים Manages projects with user stories.

  5. מעבירים את המתג הפעלה של תכונות אינטראקטיביות למצב פעיל.

  6. בקטע פונקציונליות, בוחרים באפשרות הצטרפות למרחבים ולשיחות קבוצתיות.

  7. בקטע Connection settings (הגדרות חיבור), בוחרים באפשרות HTTP endpoint URL (כתובת URL של נקודת קצה בפרוטוקול HTTP).

  8. בקטע HTTP endpoint URL (כתובת נקודת קצה של HTTP), מדביקים את כתובת ה-URL של הטריגר שהעתקתם מהפריסה של Cloud Functions, בפורמט https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial. אם פרסתם את הפונקציה של Cloud Functions באמצעות gcloud CLI, זהו המאפיין url.

  9. רושמים את הפקודות דרך שורת הפקודות של אפליקציית Chat. כדי לרשום פקודה דרך שורת הפקודות:

    1. בקטע Commands, לוחצים על Add a command.
    2. לכל פקודת לוכסן שמפורטת בטבלה הבאה, מזינים את השם, מזהה הפקודה והתיאור, בוחרים אם פקודת הלוכסן פותחת תיבת דו-שיח ואז לוחצים על סיום:

      שם מזהה הפקודה תיאור סוג הפקודה שם הפקודה דרך שורת הפקודות פותח תיבת דו-שיח
      יצירת סיפור משתמש 1 יוצר סיפור עם הכותרת שצוינה. פקודה דרך שורת הפקודות /createUserStory לא נבחר
      סיפורי המשתמשים שלי 2 רשימה של כל הסיפורים שהוקצו למשתמש. פקודה דרך שורת הפקודות /myUserStories לא נבחר
      סיפור משתמש 3 הסטטוס הנוכחי של הכתבה שצוינה. פקודה דרך שורת הפקודות /userStory לא נבחר
      ניהול סיפורי משתמשים 4 תיבת דו-שיח נפתחת, שבה אפשר לערוך את הסיפורים. פקודה דרך שורת הפקודות /manageUserStories נבחר
      ניקוי סיפורי משתמשים 5 מחיקה של כל הכתבות במרחב. פקודה דרך שורת הפקודות /cleanupUserStories לא נבחר
  10. בקטע Visibility (חשיפה), בוחרים באפשרות Make this Chat app available to specific people and groups in your Workspace domain (הפיכת אפליקציית הצ'אט הזו לזמינה לאנשים ולקבוצות ספציפיים בדומיין שלכם ב-Workspace) ומזינים את כתובת האימייל.

  11. אם רוצים, בקטע יומנים, בוחרים באפשרות רישום שגיאות ביומן.

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

בדיקת אפליקציית Chat

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

  1. פותחים את Google Chat באמצעות חשבון Google Workspace שציינתם כשנוספתם כבודקים מהימנים.

    מעבר אל Google Chat

  2. לוחצים על צ'אט חדש.
  3. בשדה הוספת אדם אחד או יותר, מקלידים את השם של אפליקציית Chat.
  4. בוחרים את אפליקציית Chat מתוך התוצאות. ייפתח צ'אט ישיר.

  5. בצ'אט הישיר החדש עם האפליקציה, כותבים Hello ולוחצים על enter. אפליקציית הצ'אט לניהול פרויקטים מגיבה עם תפריט עזרה שמפרט את הפעולות שהיא יכולה לבצע.
  6. כדי ליצור סיפור, מקלידים /createUserStory Test story בסרגל ההודעות ושולחים אותו. אפליקציית הצ'אט לניהול פרויקטים מגיבה בהודעה עם כרטיס שמפרט את סיפור המשתמש שהיא יוצרת בשבילכם באמצעות AI גנרטיבי מ-Vertex AI.
  7. במסוף, בודקים את מסד הנתונים של Firestore כדי לעיין ברשומות שנוצרו לגבי המרחב שהוספתם אליו את אפליקציית Chat, המשתמשים שניהלו איתה אינטראקציה וסיפור המשתמש שיצרתם.

    כניסה אל Firestore

  8. חוזרים ל-Google Chat.

    מעבר אל Google Chat

  9. אופציונלי: כדי לערוך את הסיפור, לוחצים על עריכה. כשמרוצים מהסיפור, לוחצים על שמירה.
  10. בודקים כל פקודת לוכסן שהאפליקציה תומכת בה. כדי לראות את הפקודות, מקלידים / או מתייגים את אפליקציית Chat.
  11. מריצים את פקודת הסלאש /cleanupUserStories כדי למחוק את סיפור המשתמש לצורך בדיקה. אפשרות אחרת היא להסיר או לבטל את ההתקנה של האפליקציה. כשמסירים את האפליקציה, היא מוחקת את כל סיפורי המשתמשים שנוצרו במרחב הזה.

פתרון בעיות

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

יכול להיות שלא תוצג הודעת שגיאה בממשק המשתמש של Chat, אבל אם הפעלתם את רישום השגיאות באפליקציות של Chat, תוכלו לראות הודעות שגיאה תיאוריות ונתוני יומן שיעזרו לכם לתקן את השגיאות. לקבלת עזרה בצפייה בשגיאות, באיתור באגים ובתיקון שלהן, אפשר לעיין במאמר פתרון בעיות ותיקון שגיאות ב-Google Chat.

הסרת המשאבים

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

  1. במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin > Manage Resources.

    כניסה ל-Resource Manager

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete .
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.