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

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

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

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

מטרות

  • פיתוח אפליקציה ל-Chat לניהול פרויקטים של תוכנה זריזים.
  • עזרה למשתמשים לכתוב סיפורי משתמשים באמצעות כלים לכתיבה מבוססי-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, מזינים שם תיאורי לפרויקט.

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

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

CLI של gcloud

ניגשים ל-CLI של Google Cloud (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. נכנסים לדף Billing במסוף Google Cloud. לוחצים על תפריט > חיוב > הפרויקטים שלי.

    כניסה לדף 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 הנכונים ולוחצים על Enable.

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, במדריך הזה נעשה שימוש ב-Application Default Credentials עם חשבון השירות שמוגדר כברירת מחדל שמצורף ל-Cloud Function, ולא צריך להגדיר אותו. בהקשר של סביבת ייצור, בדרך כלל יוצרים חשבון שירות ומחברים אותו לפונקציה ב-Cloud Functions.

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

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

  1. יצירת מסד נתונים ב-Firestore שבו אפשר לשמור ולשלוף סיפורי משתמשים.
  2. אפשר גם לעיין בקוד לדוגמה.
  3. יצירת פונקציה ב-Cloud Functions כדי לארח ולהריץ את הקוד של אפליקציית Chat בתגובה לאירועים שמתקבלים מ-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
מזהה ייחודי של סיפור משתמש ספציפי שנוצר על ידי אפליקציית Chat והמשתמשים שלה.
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. נכנסים לדף Firestore במסוף Google Cloud. לוחצים על תפריט > Firestore.

    כניסה אל Firestore

  2. לוחצים על Create database.

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

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

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

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

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

  6. לוחצים על Create database.

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 Function של אפליקציית Chat. הוא קורא את אירוע הצ'אט מבקשת ה-HTTP, קורא למטפל באפליקציה ומפרסם את תגובת ה-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
טיפול בפעולות במסד הנתונים. הפונקציות בקובץ הזה נקראות על ידי 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
כל קובץ בספרייה הזו ובספריות המשנה שלה מכיל את בדיקות היחידות של הפונקציה, הבקר, השירות, התצוגה או הווידג'ט התואמים. כדי להריץ את כל בדיקות היחידה, מריצים את npm run test בספריית הבסיס של הפרויקט.

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

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

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

כך יוצרים את הפונקציה ב-Cloud Functions:

מסוף 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. נכנסים לדף Cloud Functions במסוף Google Cloud:

    כניסה לדף Cloud Functions

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

  5. לוחצים על Create Function.

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

    1. בקטע Environment, בוחרים באפשרות Cloud Run Function.
    2. בשדה Function name, מזינים project-management-tutorial.
    3. בקטע אזור, בוחרים אזור.
    4. בקטע Authentication, בוחרים באפשרות Allow unauthenticated invocations.
    5. לוחצים על הבא.
  7. בקטע Runtime, בוחרים באפשרות Node.js 20.

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

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

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

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

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

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

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

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

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

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

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

    1. בדף Function details, לוחצים על Trigger.
    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 Function שבו מתארחת התשתית שלה, למשל us-central1.

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

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

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

  1. במסוף Google Cloud, לוחצים על תפריט > מוצרים נוספים > Google Workspace > Product Library > Google Chat API > Manage > Configuration.

    כניסה להגדרת 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. בשדה כתובת URL של נקודת קצה מסוג HTTP, מדביקים את כתובת ה-URL של הטריגר שהעתקתם מהפריסה של Cloud Functions, בפורמט https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial. אם פרסתם את Cloud Function באמצעות ה-CLI של gcloud, זה המאפיין url.

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

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

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

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

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

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

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

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

    כניסה ל-Google Chat

  2. לוחצים על צ'אט חדש.
  3. בשדה Add 1 or more people, מקלידים את שם אפליקציית Chat.
  4. בוחרים את אפליקציית Chat בתוצאות. ייפתח צ'אט אישי.

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

    כניסה אל Firestore

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

    כניסה ל-Google Chat

  9. אם רוצים לערוך את הסיפור, לוחצים על עריכה. כשמרוצים מהסיפור, לוחצים על שמירה.
  10. כדאי לבדוק כל פקודת קו נטוי (slash) שנתמכת באפליקציה. כדי לראות את הפקודות, מקלידים / או מזכירים את אפליקציית 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.