במדריך הזה נסביר איך ליצור אפליקציית Google Chat שצוות יכול להשתמש בה כדי לנהל פרויקטים בזמן אמת. אפליקציית Chat משתמשת ב-Vertex AI כדי לעזור לצוותים לכתוב סיפורי משתמשים (שמייצגים תכונות של מערכת תוכנה מנקודת המבט של משתמש, כדי שהצוות יוכל לפתח אותן) ולשמור את הסיפורים במסד נתונים של Firestore.
-
איור 1. צ'ארלי דן בפיתוח תכונות במרחב ב-Chat עם הצוות שלו. אם מתייגים את אפליקציית Chat לניהול פרויקטים, אפליקציית Chat מציעה עזרה. -
איור 2. /createUserStoryצ'ארלי משתמש בפקודה דרך שורת הפקודות כדי ליצור סיפור. -
איור 3. אפליקציית הצ'אט לניהול פרויקטים משתמשת ב-Vertex AI כדי לכתוב את תיאור הסיפור, ואז משתפת את הסיפור במרחב. -
איור 4. צ'ארלי לוחץ על עריכה כדי לסיים את פרטי הסיפור. התיאור שנוצר על ידי ה-AI מדויק, אבל צ'ארלי רוצה פרטים נוספים, אז הוא לוחץ על הרחבה כדי ש-Vertex AI יוסיף דרישות לתיאור הסיפור. צ'ארלי מקצה את הסיפור לעצמו, מגדיר את הסטטוס ל'התחיל', בוחר עדיפות וגודל מתאימים ולוחץ על שמירה. -
איור 5. בכל שלב, צ'ארלי יכול לראות ולנהל את כל סיפורי המשתמשים של הצוות באמצעות ./manageUserStoriesפקודה דרך שורת הפקודות
דרישות מוקדמות
- חשבון Google Workspace בתוכנית Business או Enterprise עם גישה ל-Google Chat.
גישה לשירותי Google Cloud כדי לבצע את הפעולות הבאות:
- יוצרים פרויקט חדש ב-Google Cloud.
- מקשרים חשבון לחיוב ב-Google Cloud לפרויקט בענן. כדי לדעת אם יש לכם גישה, אפשר לעיין במאמר ההרשאות שנדרשות להפעלת החיוב.
משתמשים בקריאות (invocation) לא מאומתות לפונקציות של Google Cloud, שאפשר לאמת אותן על ידי בדיקה אם הארגון שלכם ב-Google Cloud משתמש בשיתוף מוגבל לפי דומיינים.
במקרה הצורך, אפשר לבקש גישה או הרשאה מהאדמין ב-Google Cloud.
אם משתמשים ב-Google Cloud CLI, צריך סביבת פיתוח של Node.js שמגדירים לעבודה עם ה-CLI של gcloud. אפשר לעיין במאמר בנושא הגדרת סביבת פיתוח של Node.js.
מטרות
- פיתוח אפליקציה ל-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:
משתמש שולח הודעה ב-Chat ומפעיל את אפליקציית ניהול הפרויקטים של Google Chat. הוא יכול לשלוח לה הודעה ישירות, לתייג אותה במרחב או להזין פקודה באמצעות לוכס.
Chat שולח בקשת HTTP סינכרונית לנקודת הקצה של ה-HTTP של Cloud Function.
אפליקציית Google Chat לניהול פרויקטים מעבדת את בקשת ה-HTTP:
Vertex AI עוזר לכתוב או לעדכן סיפור משתמש.
מסד נתונים ב-Firestore מאחסן, מאחזר, מעדכן או מוחק נתונים של סיפורי משתמשים.
Cloud Functions מחזיר תגובת HTTP ל-Chat, שמוצגת למשתמש כהודעה או כתיבת דו-שיח.
הכנת הסביבה
בקטע הזה מוסבר איך ליצור ולהגדיר פרויקט בענן של Google לאפליקציית Chat.
יצירת פרויקט של Google Cloud
Google API Console
- במסוף Google API, נכנסים לתפריט > IAM & Admin > Create a Project (יצירת פרויקט).
-
בשדה Project Name (שם הפרויקט), מזינים שם תיאורי לפרויקט.
אופציונלי: כדי לערוך את מזהה הפרויקט, לוחצים על עריכה. אי אפשר לשנות את מזהה הפרויקט אחרי שהוא נוצר, לכן חשוב לבחור מזהה שיענה על הצרכים שלכם למשך חיי הפרויקט.
- בשדה Location, לוחצים על Browse כדי להציג מיקומים אפשריים לפרויקט. אחר כך לוחצים על בחירה.
- לוחצים על יצירה. מערכת Google API Console תעבור לדף מרכז הבקרה והפרויקט שלכם ייווצר תוך כמה דקות.
CLI של gcloud
באחת מסביבות הפיתוח הבאות, ניגשים אל Google Cloud CLI (gcloud):
-
Cloud Shell: כדי להשתמש בטרמינל אונליין שבו כבר מוגדר ה-CLI של gcloud, צריך להפעיל את Cloud Shell.
הפעלת Cloud Shell -
מעטפת מקומית: כדי להשתמש בסביבת פיתוח מקומית, צריך להתקין ולהפעיל את ה-CLI של gcloud.
כדי ליצור פרויקט בענן, משתמשים בפקודהgcloud projects create: מחליפים את PROJECT_ID במזהה הפרויקט שרוצים ליצור.gcloud projects create PROJECT_ID
הפעלת החיוב בפרויקט בענן
Google API Console
- ב-Google API Console, עוברים אל Billing (חיוב). לוחצים על תפריט > חיוב > הפרויקטים שלי.
- בקטע Select an organization (בחירת ארגון), בוחרים את הארגון שמשויך לפרויקט שלכם ב-Google Cloud.
- בשורת הפרויקט, פותחים את התפריט Actions (), לוחצים על Change billing ובוחרים את החשבון לחיוב ב-Cloud.
- לוחצים על Set account.
CLI של gcloud
- כדי להציג רשימה של החשבונות לחיוב שזמינים לכם, מריצים את הפקודה:
gcloud billing accounts list - קישור חשבון לחיוב לפרויקט ב-Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_IDמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_IDהוא מזהה הפרויקט של פרויקט בענן שרוצים להפעיל בו חיוב. -
BILLING_ACCOUNT_IDהוא המזהה של החשבון לחיוב שאליו רוצים לקשר את הפרויקט ב-Google Cloud.
-
הפעלת ממשקי ה-API
Google API Console
ב-Google API Console, מפעילים את Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API ו-Cloud Run Admin API.
מוודאים שאתם מפעילים את ממשקי ה-API בפרויקט הנכון ב-Cloud, ואז לוחצים על הבא.
מוודאים שמפעילים את ממשקי ה-API הנכונים ולוחצים על הפעלה.
CLI של gcloud
במקרה הצורך, מגדירים את פרויקט בענן הנוכחי לפרויקט שיצרתם באמצעות הפקודה
gcloud config set project:gcloud config set project PROJECT_IDמחליפים את PROJECT_ID במזהה הפרויקט של פרויקט בענן שיצרתם.
מפעילים את 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.comCloud Build, Pub/Sub ו-Cloud Run Admin APIs הם דרישות מוקדמות ל-Cloud Functions.
אימות והרשאה
לא צריך להגדיר אימות והרשאה כדי לבצע את ההוראות במדריך הזה.
כדי להפעיל את ממשקי ה-API של Firestore ו-Vertex AI, במדריך הזה נעשה שימוש בApplication Default Credentials עם חשבון השירות שמוגדר כברירת מחדל ומצורף ל-Cloud Function, כך שלא צריך להגדיר אותו. בסביבת ייצור, בדרך כלל יוצרים ומצרפים חשבון שירות לפונקציה ב-Cloud Functions.
יצירה ופריסה של אפליקציית Google Chat
אחרי שיוצרים ומגדירים את הפרויקט ב-Google Cloud, אפשר ליצור ולפרוס את אפליקציית Google Chat. בקטע הזה תבצעו את הפעולות הבאות:
- יוצרים מסד נתונים של Firestore שבו יאוחסנו סיפורי המשתמשים ויוכלו לאחזר אותם.
- אפשר גם לבדוק את הקוד לדוגמה.
- יוצרים פונקציה של Cloud Functions כדי לארח ולהריץ את הקוד של אפליקציית הצ'אט בתגובה לאירועים שמתקבלים מ-Chat כבקשות HTTP.
- יוצרים ופורסים אפליקציית Google Chat בדף ההגדרה של Google Chat API.
יצירת מסד הנתונים ב-Firestore
בקטע הזה יוצרים מסד נתונים של Firestore כדי לשמור סיפורי משתמשים ולאחזר אותם, אבל לא מגדירים את מודל הנתונים. מודל הנתונים מוגדר באופן מרומז בקוד לדוגמה על ידי הקבצים model/user-story.js ו-model/user.js.
מסד הנתונים של אפליקציית הצ'אט לניהול פרויקטים משתמש במודל נתונים של NoSQL שמבוסס על מסמכים שמסודרים ב אוספים. מידע נוסף זמין במאמר בנושא מודל הנתונים של Firestore.
בתרשים הבא מוצג סקירה כללית של מודל הנתונים של אפליקציית Google Chat לניהול פרויקטים:
אוסף הבסיס הוא spaces, שבו כל מסמך מייצג מרחב שבו אפליקציית Chat יצרה סיפורים. כל סיפור משתמש מיוצג על ידי מסמך באוסף המשנה userStories, וכל משתמש מיוצג על ידי מסמך באוסף המשנה users.
הצגת הגדרות של אוסף, מסמך ושדה
spaces
מרחבים שבהם אפליקציית Chat יצרה סיפורים.
| שדות | |
|---|---|
Document ID | Stringמזהה ייחודי של מרחב ספציפי שבו נוצרים סטוריז. הערך הזה תואם לשם המשאב של המרחב ב-Chat API. |
userStories | Subcollection of Documents (סטוריז שנוצרו על ידי אפליקציית Chat והמשתמשים שלה. תואם ל Document ID של userStories ב-Firebase. |
users | Subcollection of Documents (user)משתמשים שיצרו סיפורים או שהוקצו להם סיפורים. |
displayName | Stringהשם המוצג של המרחב ב-Chat API. לא מוגדר לצ'אטים ישירים עם משתמשים. |
userStories
סיפורים שנוצרו על ידי אפליקציית Chat והמשתמשים שלה.
| שדות | |
|---|---|
Document ID | Stringמזהה ייחודי של סיפור משתמש ספציפי שנוצר על ידי אפליקציית Chat והמשתמשים שלה. |
assignee | Document (user)שם המשאב של המשתמש שהוקצה להשלמת הסיפור. תואם ל- Document ID במסמך users ולשם המשאב של המשתמש ב-Chat API. |
description | Stringתיאור של תכונת התוכנה מנקודת המבט של המשתמש. |
priority | Enumהדחיפות של השלמת העבודה. הערכים האפשריים הם Low, Medium או High. |
size | Enumכמות העבודה. הערכים האפשריים הם Small, Medium או Large. |
status | Enumשלב העבודה. הערכים האפשריים הם OPEN, STARTED או COMPLETED. |
title | Stringשם הסיפור; סיכום קצר. |
users
משתמשים שיצרו סיפורים או שהוקצו להם סיפורים.
| שדות | |
|---|---|
Document ID | Stringמזהה ייחודי של משתמש ספציפי. הערך הזה תואם ל assignee של userStories ב-Firebase ולשם המשאב של המשתמש ב-Chat API. |
avatarUrl | Stringכתובת URL שבה מתארחת תמונת האווטאר של המשתמש ב-Chat. |
displayName | Stringהשם המוצג של המשתמש ב-Chat. |
כך יוצרים את מסד הנתונים ב-Firestore:
Google API Console
במסוף Google API, עוברים אל Firestore. לוחצים על תפריט > Firestore.
לוחצים על יצירת מסד נתונים.
בקטע בחירת מצב Firestore, לוחצים על מצב Native.
לוחצים על המשך.
מגדירים את מסד הנתונים:
בקטע Name your database (מתן שם למסד הנתונים), משאירים את Database ID (מזהה מסד הנתונים) כ-
(default).בשדה Location type, מציינים אזור למסד הנתונים, כמו
us-central1. כדי לקבל את הביצועים הטובים ביותר, בוחרים את אותו מיקום או מיקום סמוך למיקום של פונקציה של Cloud Functions של אפליקציית הצ'אט.
לוחצים על יצירת מסד נתונים.
CLI של gcloud
יוצרים מסד נתונים של Firestore במצב Native באמצעות הפקודה
gcloud firestore databases create:gcloud firestore databases create \ --location=LOCATION \ --type=firestore-nativeמחליפים את LOCATION בשם של אזור ב-Firestore, כמו
us-central1.
בדיקת הקוד לדוגמה
אופציונלי: לפני שיוצרים את Cloud Function, כדאי לעיין בקוד לדוגמה שמתארח ב-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- מטפל בפעולות במסד הנתונים.
הפונקציות בקובץ הזה נקראות על ידי
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 או כותב בו.
כך יוצרים את פונקציה של Cloud Functions:
Google API Console
מורידים את הקוד מ-GitHub כקובץ ZIP.
מחליצים את קובץ ה-ZIP שהורד.
התיקייה שחולצה מכילה את כל מאגר הדוגמאות של Google Workspace.
בתיקייה שחולצה, עוברים אל
add-ons-samples-main/node/chat/project-management-app/, ואז דוחסים את התיקייהproject-management-appלקובץ ZIP.תיקיית השורש של קובץ ה-ZIP חייבת להכיל את הקבצים והתיקיות הבאים:
env.jsREADME.mdgcloudignore.textpackage-lock.jsonpackage.jsonindex.jsmodel/controllers/views/services/
במסוף Google API, עוברים לדף Cloud Functions:
מוודאים שהפרויקט ב-Google Cloud של אפליקציית Chat נבחר.
לוחצים על Create Function (יצירת פונקציה).
בדף Create function (יצירת פונקציה), מגדירים את הפונקציה:
- בקטע Environment (סביבה), בוחרים באפשרות Cloud Run Function (פונקציית Cloud Run).
- בשדה Function name (שם הפונקציה), מזינים
project-management-tutorial. - בקטע Region (אזור), בוחרים אזור.
- בקטע אימות, בוחרים באפשרות הפעלת קריאות ללא אימות.
- לוחצים על הבא.
בקטע Runtime (סביבת זמן ריצה), בוחרים באפשרות Node.js 20.
בקטע נקודת כניסה, מוחקים את טקסט ברירת המחדל ומזינים
projectManagementChatApp.בקטע קוד מקור, בוחרים באפשרות העלאת קובץ Zip.
בקטע קטגוריית יעד, יוצרים או בוחרים קטגוריה:
- לוחצים על מה מעניין אותך היום?
- בוחרים קטגוריה.
- לוחצים על בחירה.
מערכת Google Cloud מעלה את קובץ ה-ZIP ומחלצת את קובצי הרכיבים לקטגוריה הזו. לאחר מכן, Cloud Functions מעתיק את קובצי הרכיבים אל Cloud Functions.
בקטע Zip file (קובץ ZIP), מעלים את קובץ ה-ZIP שהורדתם מ-GitHub, חילצתם ודחסתם מחדש:
- לוחצים על מה מעניין אותך היום?
- מנווטים אל קובץ ה-ZIP ובוחרים אותו.
- לוחצים על פתיחה.
לוחצים על פריסה.
ייפתח הדף Cloud Functions detail, והפונקציה שלכם תופיע עם שני אינדיקטורים להתקדמות: אחד לבנייה ואחד לשירות. כששני מחווני ההתקדמות נעלמים ומוחלפים בסימן וי, הפונקציה מוכנה לפריסה.
עורכים את הקוד לדוגמה כדי להגדיר קבועים:
- בדף Cloud Function detail (פרטי Cloud Function), לוחצים על Edit (עריכה).
- לוחצים על הבא.
- בקטע קוד מקור, בוחרים באפשרות עורך בתוך השורה.
- בכלי לעריכה ישירה, פותחים את הקובץ
env.js. - מחליפים את project-id במזהה הפרויקט בענן.
- אופציונלי: מעדכנים את us-central1 עם מיקום נתמך עבור Cloud Function.
לוחצים על פריסה.
כשהפריסה של הפונקציה מסתיימת, מעתיקים את כתובת ה-URL של הטריגר:
- בדף פרטי הפונקציה, לוחצים על טריגר.
- מעתיקים את כתובת ה-URL. תצטרכו אותו כדי להגדיר את אפליקציית Chat בקטע הבא.
CLI של gcloud
משכפלים את הקוד מ-GitHub:
git clone https://github.com/googleworkspace/add-ons-samples.gitעוברים לספרייה שמכילה את הקוד של אפליקציית Chat לניהול פרויקטים:
cd add-ons-samples/node/chat/project-management-appעורכים את הקובץ
env.jsכדי להגדיר משתני סביבה:- מחליפים את project-id במזהה הפרויקט ב-Google Cloud.
- מחליפים את us-central1 במיקום של הפרויקט ב-Google Cloud.
פורסים את הפונקציה של 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.
- כשהפונקציה מסיימת את הפריסה, מעתיקים את המאפיין
urlמהתגובה. זו כתובת ה-URL של הטריגר שבה תשתמשו בקטע הבא כדי להגדיר את האפליקציה של Google Chat.
הגדרת אפליקציית Google Chat ב-Google API Console
בקטע הזה מוסבר איך להגדיר את Chat API ב-Google API Console עם מידע על אפליקציית Chat, כולל השם של אפליקציית Chat, פקודות הסלאש הנתמכות וכתובת ה-URL של הטריגר של Cloud Function של אפליקציית Chat שאליה נשלחים אירועי אינטראקציה ב-Chat.
ב-Google API Console, לוחצים על תפריט > APIs & Services > Enabled APIs & Services > Google Chat API > Configuration.
בשדה App name, כותבים
Project Manager.בקטע כתובת ה-URL של האווטאר, מקלידים
https://developers.google.com/chat/images/quickstart-app-avatar.png.בקטע תיאור, מקלידים
Manages projects with user stories.לוחצים על המתג הפעלת תכונות אינטראקטיביות כדי להפעיל אותו.
בקטע פונקציונליות, בוחרים באפשרות הצטרפות למרחבים ולשיחות קבוצתיות.
בקטע הגדרות חיבור, בוחרים באפשרות כתובת URL של נקודת קצה HTTP.
מעתיקים את כתובת האימייל של חשבון השירות. תצטרכו את כתובת האימייל הזו כשתאשרו לאפליקציית Google Chat להפעיל את הפונקציה.
בקטע טריגרים, בוחרים באפשרות שימוש בכתובת URL משותפת של נקודת קצה (endpoint) בפרוטוקול HTTP לכל הטריגרים.
בקטע HTTP endpoint URL (כתובת URL של נקודת קצה בפרוטוקול HTTP), מדביקים את כתובת ה-URL שמשמשת כטריגר של הפונקציה של Cloud Functions בפורמט
https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial. אם פרסתם את הפונקציה של Cloud Functions באמצעות ה-CLI של gcloud, זהו המאפייןurl.רושמים את הפקודות דרך שורת הפקודות של אפליקציית Chat. כדי לרשום פקודה דרך שורת הפקודות:
- בקטע Commands, לוחצים על Add a command.
לכל פקודה שמפורטת בטבלה הבאה, מזינים את מזהה הפקודה, מזינים את התיאור, בקטע סוג הפקודה בוחרים באפשרות פקודה דרך שורת הפקודות, מזינים את שם פקודת לוכסן, בוחרים באפשרות תיבת דו-שיח ואז לוחצים על סיום:
מזהה הפקודה תיאור שם הפקודה דרך שורת הפקודות Dialog 1 יצירת סיפור עם הכותרת שצוינה. /createUserStoryלא נבחר 2 רשימה של כל הסיפורים שהוקצו למשתמש. /myUserStoriesלא נבחר 3 מוצג הסטטוס הנוכחי של הסיפור שצוין. /userStoryלא נבחר 4 תיבת דו-שיח נפתחת, שבה אפשר לערוך את הסיפורים. /manageUserStoriesנבחר 5 מחיקת כל הכתבות במרחב. /cleanupUserStoriesלא נבחר
בקטע חשיפה, בוחרים באפשרות האפליקציה הזו של Google Chat תהיה זמינה לאנשים ולקבוצות ספציפיים בדומיין של Workspace ומזינים את כתובת האימייל.
אופציונלי: בקטע Logs, בוחרים באפשרות Log errors to Logging.
לוחצים על שמירה. מופיעה הודעה שההגדרה נשמרה.
אפליקציית Chat מוכנה לקבל הודעות ב-Chat ולענות עליהן.
בדיקת אפליקציית Chat
כדי לבדוק את אפליקציית Chat לניהול פרויקטים, שולחים לה הודעה ומשתמשים בפקודות דרך שורת הפקודות שלה כדי ליצור, לערוך ולמחוק סיפורי משתמשים.
פותחים את Google Chat באמצעות חשבון Google Workspace שציינתם כשנרשמתם כבודקים מהימנים.
- לוחצים על צ'אט חדש.
- בשדה Add 1 or more people (הוספת אדם אחד או יותר), מקלידים את השם של אפליקציית Chat.
בוחרים את אפליקציית Chat מתוך התוצאות. ייפתח צ'אט ישיר.
- בצ'אט הישיר החדש עם האפליקציה, כותבים
Helloולוחצים עלenter. אפליקציית Chat לניהול פרויקטים מציגה תפריט עזרה עם פירוט של הפעולות שאפשר לבצע. - כדי ליצור סטורי, מקלידים
/createUserStory Test storyבסרגל ההודעות ושולחים אותו. אפליקציית הצ'אט לניהול פרויקטים מגיבה עם כרטיס הודעה שמפרט את סיפור המשתמש שהיא יוצרת בשבילכם באמצעות AI גנרטיבי מ-Vertex AI. במסוף ה-API, בודקים את מסד הנתונים של Firestore כדי לראות את הרשומות שנוצרו לגבי המרחב שהוספתם אליו את אפליקציית הצ'אט, המשתמשים שהייתה להם אינטראקציה עם האפליקציה וסיפור המשתמש שיצרתם.
חוזרים ל-Google Chat.
- אופציונלי: כדי לערוך את הסיפור, לוחצים על עריכה. כשמרוצים מהסיפור, לוחצים על שמירה.
- בודקים כל פקודה דרך שורת הפקודות שהאפליקציה תומכת בה. כדי לראות אותן, מקלידים
/או מתייגים את אפליקציית Chat. - מריצים את
/cleanupUserStoriesפקודה דרך שורת הפקודות כדי למחוק את סיפור המשתמש למטרת הבדיקה. אפשרות אחרת היא להסיר או לבטל את ההתקנה של האפליקציה. אם תסירו את האפליקציה, כל סיפורי המשתמש שנוצרו במרחב הזה יימחקו.
פתרון בעיות
כשמוחזרת שגיאה מאפליקציה או מכרטיס ב-Google Chat, בממשק של Chat מוצגת ההודעה "משהו השתבש". או 'לא הצלחנו לעבד את הבקשה שלך'. לפעמים בממשק המשתמש של Chat לא מוצגת הודעת שגיאה, אבל אפליקציית Chat או הכרטיס מפיקים תוצאה לא צפויה. לדוגמה, יכול להיות שהודעה בכרטיס לא תופיע.
יכול להיות שלא תוצג הודעת שגיאה בממשק המשתמש של Chat, אבל אם הפעלתם את רישום השגיאות באפליקציות של Chat, תוכלו לראות הודעות שגיאה תיאוריות ונתוני יומן שיעזרו לכם לתקן את השגיאות. לקבלת עזרה בצפייה בשגיאות, באיתור באגים ובתיקון שגיאות, אפשר לעיין במאמר פתרון בעיות ותיקון שגיאות ב-Google Chat.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, מומלץ למחוק את פרויקט בענן.
- במסוף Google API, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin > Manage Resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על מחיקה .
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
נושאים קשורים
- תכנון נסיעות באמצעות סוכן AI שזמין בכל Google Workspace
- איך מקבלים תשובות לשאלות על סמך שיחות ב-Chat באמצעות אפליקציית Gemini AI Chat
- איך מגיבים לאירועים באמצעות Google Chat, Vertex AI, Apps Script ואימות משתמשים
- בדיקת עובדות באמצעות סוכן AI של ADK ומודל Gemini
- שילוב של מושגי יסוד בתחום ה-AI באפליקציות של Chat
- פיתוח אפליקציה ל-Chat כתוסף ל-Google Workspace באמצעות Apps Script