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

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

  • אם מתייגים את האפליקציה לניהול פרויקטים, האפליקציה מציעה עזרה.
    איור 1. צ'ארלי דן עם הצוות שלו בפיתוח תכונות במרחב ב-Chat. אם מתייגים את אפליקציית Chat לניהול פרויקטים, אפליקציית Chat מציעה עזרה.
  • משתמשים בפקודת הלוכסן /createUserStory כדי ליצור סיפור.
    איור 2. בעזרת הפקודה /createUserStory, צ'ארלי יוצר סיפור.
  • אפליקציית Chat לניהול פרויקטים משתמשת ב-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: פלטפורמה מנוהלת לאינטגרציה רציפה (CI), לפיתוח רציף (CD) ולפריסה רציפה (CD), שמריצה גרסאות 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 Function כדי לארח ולהריץ את הקוד של אפליקציית הצ'אט בתגובה לאירועים שמתקבלים מ-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. במסוף Google Cloud, עוברים אל Firestore. לוחצים על תפריט > Firestore.

    כניסה אל Firestore

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

  3. בקטע בחירת מצב Firestore, לוחצים על מצב מקורי.

  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 Function קורא גם ממסד הנתונים של 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. בקטע סביבה, בוחרים באפשרות פונקציית 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 והפונקציה שלכם תופיע עם שני אינדיקטורים להתקדמות: אחד לבנייה ואחד לשירות. כששני מחווני ההתקדמות נעלמים ומוחלפים בסימן וי, הפונקציה מוכנה לפריסה.

  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. מבטלים את הסימון של Build this Chat app as a Google Workspace add-on (פיתוח אפליקציית Chat כתוסף ל-Google Workspace). תיפתח תיבת דו-שיח שבה תתבקשו לאשר את הפעולה. בתיבת הדו-שיח, לוחצים על השבתה.

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

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

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

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

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

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

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

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

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

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

  12. אם רוצים, בקטע Logs (יומנים), בוחרים באפשרות Log errors to Logging (רישום שגיאות ביומן).

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

בדיקת אפליקציית 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.