ניהול פרויקטים באמצעות 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: פלטפורמת בינה מלאכותית גנרטיבית. אפליקציית Google Chat לניהול פרויקטים משתמשת ב-Vertex AI API כדי לכתוב שמות ותיאורים של סיפורי משתמשים.
  • Firestore: מסד נתונים של מסמכים ללא שרת (serverless). ניהול הפרויקטים באפליקציית Google Chat נעשה שימוש ב-Firebase כדי לאחסן נתונים על סיפורי משתמשים.
  • Cloud Functions: שירות מחשוב פשוט ללא שרת (serverless), שמאפשר ליצור פונקציות עצמאיות למטרה יחידה, שיכולות להגיב לאירועי אינטראקציה ב-Chat בלי לנהל שרת או סביבת זמן ריצה. אפליקציית Google Chat לניהול פרויקטים משתמשת ב-Cloud Functions כדי לארח את נקודת הקצה (endpoint) של 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 Functions.

  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 (שם הפרויקט), מזינים שם תיאורי לפרויקט.

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

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

CLI של gcloud

נכנסים ל-CLI של Google Cloud ('gcloud'): באחת מסביבות הפיתוח הבאות:

  • Cloud Shell: כדי להשתמש בטרמינל אונליין שבו כבר מוגדר ה-CLI של gcloud, צריך להפעיל את Cloud Shell.
    הפעלת Cloud Shell
  • Local Shell: כדי להשתמש בסביבת פיתוח מקומית צריך להתקין וinitialize את ה-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, ולוחצים על Next.

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

CLI של gcloud

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

    gcloud config set project PROJECT_ID
    

    מחליפים את 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
    

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

אימות והרשאה

במדריך הזה לא צריך להגדיר את האימות וההרשאות.

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

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

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

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

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

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

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

CLI של gcloud

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

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

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

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

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

הצגת הקוד ב-GitHub

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

env.js
משתני תצורה של הסביבה לפריסה של אפליקציית Chat בפרויקט ובאזור מסוימים ב-Google Cloud. עליך לעדכן את משתני התצורה בקובץ הזה.
package.json וגם package-lock.json
הגדרות וקשרי תלות של פרויקט ב-Node.js.
index.js
נקודת כניסה לפונקציה של Cloud Functions באפליקציית Chat. הוא קורא את האירוע של Chat מבקשת ה-HTTP, קורא ל-handler של האפליקציה ומפרסם את תגובת ה-HTTP כאובייקט JSON.
controllers/app.js
הלוגיקה העיקרית של האפליקציה. מעבד את אירועי האינטראקציה על ידי טיפול באזכורים ובפקודות של אפליקציית Chat. כדי להגיב לקליקים על כרטיס, המערכת שולחת קריאה למספר app-action-handler.js.
controllers/app-action-handler.js
לוגיקה של אפליקציה לטיפול באירועי אינטראקציה של צ'אט של קליקים על כרטיסים.
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 לחיזוי טקסט של בינה מלאכותית גנרטיבית.
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 Functions מעבד את האירוע ומחזיר תשובה ל-Chat ש-Chat מעבד כהודעה, תיבת דו-שיח או אינטראקציה אחרת של המשתמש. אם רלוונטי, הפונקציה של Cloud Functions גם קוראת ממסד הנתונים של 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. ב Google Cloud console, נכנסים לדף Cloud Functions:

    כניסה לדף Cloud Functions

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. בדף פרטים של הפונקציה של Cloud Functions, לוחצים על Edit.
    2. לוחצים על הבא.
    3. בקטע קוד מקור, בוחרים באפשרות עורך מוטבע.
    4. בעורך המוטבע, פותחים את הקובץ env.js.
    5. מחליפים את project-id במזהה הפרויקט ב-Cloud.
    6. אופציונלי: מעדכנים את us-central1 עם מיקום נתמך של הפונקציה של Cloud Functions.
  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 Functions שבו מתארחת התשתית, למשל us-central1.

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

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

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

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

    לדף ההגדרות של Chat API

  2. בשם האפליקציה, מקלידים Project Manager.

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

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

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

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

  7. בקטע הגדרות חיבור, בוחרים באפשרות כתובת URL של האפליקציה.

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

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

    1. בקטע פקודות Slash, לוחצים על Add a slash command (הוספת פקודה של לוכסן).
    2. בכל פקודת לוכסן שמפורטת בטבלה הבאה מזינים Name, Command ID ו-Description, בוחרים אם הפקודה Open a report (פתיחת תיבת דו-שיח) ולוחצים על Done:

      שם מזהה פקודה תיאור פתיחת תיבת דו-שיח
      /createUserStory 1 יוצרים סטורי עם השם שצוין. האפשרות לא נבחרה
      /myUserStories 2 רשימה של כל הסטוריז שהוקצו למשתמש. האפשרות לא נבחרה
      /userStory 3 הצגת הסטטוס הנוכחי של הסטורי שצוין. האפשרות לא נבחרה
      /manageUserStories 4 תיפתח תיבת דו-שיח שבה ניתן לערוך כתבות. האפשרות נבחרה
      /cleanupUserStories 5 כל הכתבות במרחב המשותף יימחקו. האפשרות לא נבחרה
  10. בקטע חשיפה, בוחרים באפשרות הגדרת האפליקציה הזו ל-Chat למשתמשים ספציפיים ולקבוצות ספציפיות בדומיין של Workspace ומזינים את כתובת האימייל שלכם.

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

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

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

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

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

    כניסה ל-Google Chat

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

  5. בצ'אט האישי החדש עם האפליקציה, כותבים Hello ומקישים על enter. אפליקציית Chat מנוהלת יחד עם תפריט עזרה המפרט מה אפשר לעשות.
  6. כדי ליצור סטורי, מקלידים /createUserStory Test story בסרגל ההודעות ושולחים אותו. אפליקציית Chat שקשורה לניהול פרויקטים שולחת הודעת כרטיס שמפרטת את סיפור המשתמש שהיא יוצרת עבורכם באמצעות בינה מלאכותית גנרטיבית מ-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 ואדמין > ניהול משאבים.

    כניסה למנהל המשאבים

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