บทแนะนำนี้แสดงวิธีสร้างแอป Google Chat ที่ทีมใช้จัดการโปรเจ็กต์ได้แบบเรียลไทม์ แอป Chat ใช้ Vertex AI เพื่อช่วยให้ทีมเขียนเรื่องราวของผู้ใช้ (ซึ่งแสดงถึงฟีเจอร์ของระบบซอฟต์แวร์จากมุมมองของผู้ใช้เพื่อให้ทีมพัฒนา) และจัดเก็บเรื่องราวในฐานข้อมูล Firestore
-
รูปที่ 1 ชาร์ลีพูดคุยเรื่องการพัฒนาฟีเจอร์ในพื้นที่ทำงานใน Chat กับทีม การพูดถึงแอป Chat สำหรับการจัดการโครงการจะทำให้แอป Chat เสนอความช่วยเหลือ -
รูปที่ 2 /createUserStoryชาร์ลีใช้คำสั่งเครื่องหมายทับเพื่อสร้างเรื่องราว -
รูปที่ 3 แอป Chat สำหรับการจัดการโครงการใช้ Vertex AI เพื่อเขียนคำอธิบายเรื่องราว จากนั้นแชร์เรื่องราวในพื้นที่ -
รูปที่ 4 ชาร์ลีคลิกแก้ไขเพื่อสรุปรายละเอียดเรื่องราว คำอธิบาย AI ถูกต้อง แต่ชาร์ลีต้องการรายละเอียดเพิ่มเติม จึงคลิกขยายเพื่อให้ Vertex AI เพิ่มข้อกำหนดลงในคำอธิบายเรื่องราว ชาร์ลีมอบหมายเรื่องราวให้ตัวเอง ตั้งค่าสถานะเป็น "เริ่มแล้ว" เลือกความสำคัญและขนาดที่เหมาะสม แล้วคลิกบันทึก -
รูปที่ 5 ชาร์ลีสามารถดูและจัดการเรื่องราวของผู้ใช้ทั้งหมดของทีมได้ทุกเมื่อด้วย /manageUserStoriesคำสั่งเครื่องหมายทับ
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
สิทธิ์เข้าถึงบริการของ Google Cloud เพื่อดำเนินการต่อไปนี้
- สร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google
- ลิงก์บัญชีสำหรับการเรียกเก็บเงินใน Google Cloud กับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ หากต้องการ ดูว่าคุณมีสิทธิ์เข้าถึงหรือไม่ โปรดดู สิทธิ์ที่จำเป็นในการเปิดใช้การเรียกเก็บเงิน
ใช้การเรียกใช้ฟังก์ชัน Google Cloud ที่ไม่มีการตรวจสอบสิทธิ์ ซึ่งคุณสามารถยืนยันได้โดยดูว่าองค์กร Google Cloud ใช้การแชร์ที่จำกัดโดเมนหรือไม่
หากจำเป็น ให้ขอสิทธิ์เข้าถึงหรือ สิทธิ์จากผู้ดูแลระบบ Google Cloud
หากใช้ Google Cloud CLI คุณต้องมีสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Node.js ที่กำหนดค่าให้ทำงานกับ gcloud CLI ดูการตั้งค่าสภาพแวดล้อม การพัฒนา Node.js
วัตถุประสงค์
- สร้างแอปใน Chat ที่จัดการโปรเจ็กต์ซอฟต์แวร์แบบ Agile
- ช่วยผู้ใช้เขียน User Story ด้วยเครื่องมือเขียนเรื่องราวที่ Generative AI ช่วยเหลือ ซึ่งขับเคลื่อนโดย Vertex AI ดังนี้
- สร้างและสร้างคำอธิบายเรื่องราวใหม่
- ขยายคำอธิบายเรื่องราวจากโน้ตเป็นข้อกำหนดที่สมบูรณ์
- แก้ไขไวยากรณ์เพื่อแก้ไขการพิมพ์ผิด
- อัปเดตงานให้เป็นปัจจุบันอยู่เสมอด้วยการเขียนและอ่านจากฐานข้อมูล Firestore
- อำนวยความสะดวกในการทำงานร่วมกันในพื้นที่ทำงานของ Chat โดยอนุญาตให้ผู้ใช้ สร้าง แก้ไข มอบหมาย และเริ่มสตอรี่จากการสนทนาได้โดยตรง
ผลิตภัณฑ์ที่ใช้
แอปการจัดการโครงการใช้ผลิตภัณฑ์ Google Workspace และ Google Cloud ต่อไปนี้
- Chat API: API สำหรับพัฒนาแอป Google Chat ที่รับและตอบสนองต่อ เหตุการณ์การโต้ตอบใน Chat เช่น ข้อความ แอป Google Chat สำหรับการจัดการโปรเจ็กต์ใช้ Chat API เพื่อรับและตอบกลับ เหตุการณ์การโต้ตอบที่ Chat ส่งมา รวมถึงกำหนดค่าแอตทริบิวต์ที่ กำหนดลักษณะที่ปรากฏใน Chat เช่น ชื่อและรูปโปรไฟล์
- Vertex AI API: แพลตฟอร์ม Generative AI แอป Google Chat สำหรับการจัดการโปรเจ็กต์ใช้ Vertex AI API เพื่อเขียนชื่อและคำอธิบายของ User Story
- Firestore: ฐานข้อมูลเอกสารแบบ Serverless แอป Google Chat สำหรับการจัดการโปรเจ็กต์ ใช้ Firebase เพื่อจัดเก็บข้อมูลเกี่ยวกับเรื่องราวของผู้ใช้
Cloud Functions: บริการประมวลผลแบบ Serverless ขนาดเล็กที่ช่วยให้คุณสร้าง ฟังก์ชันแบบสแตนด์อโลนที่มีวัตถุประสงค์เดียวซึ่งตอบสนองต่อเหตุการณ์การโต้ตอบใน Chat ได้โดยไม่ต้องจัดการเซิร์ฟเวอร์หรือสภาพแวดล้อมรันไทม์ แอป Google Chat สำหรับการจัดการโปรเจ็กต์ใช้ Cloud Functions เพื่อ โฮสต์ปลายทาง HTTP ที่ Chat ส่งเหตุการณ์การโต้ตอบไปให้ และใช้เป็น แพลตฟอร์มการประมวลผลเพื่อเรียกใช้ตรรกะที่ประมวลผลและตอบสนองต่อเหตุการณ์เหล่านี้
Cloud Functions ใช้ผลิตภัณฑ์ Google Cloud ต่อไปนี้เพื่อสร้าง ประมวลผลเหตุการณ์การโต้ตอบ และโฮสต์ทรัพยากรการประมวลผล
- Cloud 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 Cloud สำหรับ แอป Chat
สร้างโปรเจ็กต์ Google Cloud
คอนโซล Google API
- ใน คอนโซล Google API ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > สร้างโปรเจ็กต์
-
ในช่องชื่อโปรเจ็กต์ ให้ป้อนชื่อที่สื่อความหมายสำหรับโปรเจ็กต์
ไม่บังคับ: หากต้องการแก้ไขรหัสโปรเจ็กต์ ให้คลิกแก้ไข คุณจะเปลี่ยนรหัสโปรเจ็กต์ไม่ได้ หลังจากสร้างโปรเจ็กต์แล้ว ดังนั้นโปรดเลือกรหัสที่ตรงกับความต้องการตลอดอายุการใช้งานของ โปรเจ็กต์
- ในช่องสถานที่ ให้คลิกเรียกดูเพื่อแสดงสถานที่ที่อาจเป็นไปได้สำหรับ โปรเจ็กต์ จากนั้นคลิกเลือก
- คลิกสร้าง คอนโซล Google API จะนำคุณไปยังหน้าแดชบอร์ดและสร้างโปรเจ็กต์ภายในไม่กี่นาที
gcloud CLI
เข้าถึง Google Cloud
CLI (gcloud) ในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ต่อไปนี้
-
Cloud Shell: หากต้องการใช้เทอร์มินัลออนไลน์ที่มีการตั้งค่า gcloud CLI
ไว้แล้ว ให้เปิดใช้งาน Cloud Shell
เปิดใช้งาน Cloud Shell -
Local Shell: หากต้องการใช้สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง ให้
ติดตั้งและ
เริ่มต้น
gcloud CLI
หากต้องการสร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์ ให้ใช้คำสั่งgcloud projects create แทนที่ PROJECT_ID โดยตั้งรหัสสำหรับโปรเจ็กต์ที่ต้องการสร้างgcloud projects create PROJECT_ID
เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์
คอนโซล Google API
- ในคอนโซล Google API ให้ไปที่การเรียกเก็บเงิน คลิก เมนู > การเรียกเก็บเงิน > โปรเจ็กต์ของฉัน
- ในเลือกองค์กร ให้เลือกองค์กรที่เชื่อมโยงกับ โปรเจ็กต์ Google Cloud
- ในแถวของโปรเจ็กต์ ให้เปิดเมนูการดำเนินการ () คลิกเปลี่ยนการเรียกเก็บเงิน แล้วเลือก บัญชีสำหรับการเรียกเก็บเงินใน Cloud
- คลิกตั้งค่าบัญชี
gcloud CLI
- หากต้องการแสดงรายการบัญชีสำหรับการเรียกเก็บเงินที่ใช้ได้ ให้เรียกใช้คำสั่งต่อไปนี้
gcloud billing accounts list - วิธีลิงก์บัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ Google Cloud
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_IDแทนที่ค่าต่อไปนี้
PROJECT_IDคือรหัสโปรเจ็กต์สำหรับ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณต้องการเปิดใช้การเรียกเก็บเงินBILLING_ACCOUNT_IDคือรหัสบัญชีสำหรับการเรียกเก็บเงินที่จะลิงก์กับ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google
เปิดใช้ API
คอนโซล Google API
ในคอนโซล Google API ให้เปิดใช้ Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API และ Cloud Run Admin API
ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่ถูกต้อง แล้วคลิกถัดไป
ยืนยันว่าคุณกำลังเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
gcloud CLI
หากจำเป็น ให้ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์ปัจจุบันเป็นโปรเจ็กต์ที่คุณสร้างด้วยคำสั่ง
gcloud config set projectgcloud 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 enablegcloud 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 API เป็นข้อกำหนดเบื้องต้นของ Cloud Functions
การตรวจสอบสิทธิ์และการให้สิทธิ์
คุณไม่จำเป็นต้องกำหนดค่าการตรวจสอบสิทธิ์และการให้สิทธิ์เพื่อทำตามบทแนะนำนี้
หากต้องการเรียกใช้ Firestore และ Vertex AI API บทแนะนำนี้จะใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชันกับบัญชีบริการเริ่มต้นที่แนบมากับ Cloud Functions ซึ่งคุณไม่จำเป็นต้องตั้งค่า ในบริบทของสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ คุณมักจะสร้างและต่อเชื่อมบัญชีบริการกับ Cloud Function แทน
สร้างและติดตั้งใช้งานแอป Google Chat
ตอนนี้คุณได้สร้างและกำหนดค่าโปรเจ็กต์ Google Cloud แล้ว จึงพร้อมที่จะสร้าง และติดตั้งใช้งานแอป Google Chat ในส่วนนี้ คุณจะต้องทำสิ่งต่อไปนี้
- สร้างฐานข้อมูล Firestore เพื่อจัดเก็บและดึงเรื่องราวของผู้ใช้
- ตรวจสอบโค้ดตัวอย่าง (ไม่บังคับ)
- สร้าง Cloud Function เพื่อโฮสต์และเรียกใช้โค้ดของแอป Chat เพื่อตอบสนองต่อเหตุการณ์ที่ได้รับจาก 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 | StringURL ที่โฮสต์รูปโปรไฟล์ Chat ของผู้ใช้ |
displayName | Stringชื่อที่แสดงใน Chat ของผู้ใช้ |
วิธีสร้างฐานข้อมูล Firestore มีดังนี้
คอนโซล Google API
ไปที่ Firestore ในคอนโซล Google API คลิก เมนู > Firestore
คลิกสร้างฐานข้อมูล
จากเลือกโหมด Firestore ให้คลิกโหมดเนทีฟ
คลิกต่อไป
กำหนดค่าฐานข้อมูล
ในตั้งชื่อฐานข้อมูล ให้ปล่อยรหัสฐานข้อมูลเป็น
(default)ในประเภทสถานที่ตั้ง ให้ระบุภูมิภาคสำหรับฐานข้อมูล เช่น
us-central1เลือกตำแหน่งเดียวกันหรือตำแหน่งใกล้เคียงกับ Cloud Function ของแอป Chat เพื่อประสิทธิภาพที่ดีที่สุด
คลิกสร้างฐานข้อมูล
gcloud CLI
สร้างฐานข้อมูล Firestore ในโหมดดั้งเดิมด้วยคำสั่ง
gcloud firestore databases creategcloud firestore databases create \ --location=LOCATION \ --type=firestore-nativeแทนที่ LOCATION ด้วยชื่อภูมิภาค Firestore เช่น
us-central1
ตรวจสอบโค้ดตัวอย่าง
ไม่บังคับ: ก่อนสร้าง Cloud Function โปรดสละเวลาสักครู่เพื่ออ่านและ ทำความคุ้นเคยกับโค้ดตัวอย่างที่โฮสต์ใน GitHub
ต่อไปนี้คือภาพรวมของแต่ละไฟล์
env.js- ตัวแปรการกำหนดค่าสภาพแวดล้อมเพื่อทำให้แอป Chat ใช้งานได้ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google และภูมิภาคที่ระบุ คุณต้องอัปเดตตัวแปรการกำหนดค่าในไฟล์นี้
package.jsonและpackage-lock.json- การตั้งค่าโปรเจ็กต์และทรัพยากร Dependency ของ Node.js
index.js- จุดแรกเข้าของ Cloud Function ของแอป Chat โดยจะ อ่านเหตุการณ์แชทจาก คำขอ HTTP, เรียกตัวแฮนเดิลแอป และโพสต์การตอบกลับ 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 สำหรับการคาดคะเนข้อความ Generative AI
model/*.js- ไฟล์เหล่านี้มีคำจำกัดความของคลาสและ Enum ที่บริการแอปพลิเคชัน ใช้เพื่อจัดเก็บและส่งข้อมูลระหว่างฟังก์ชัน มีการกำหนด รูปแบบข้อมูลสำหรับฐานข้อมูล Firestore
views/*.js- ไฟล์แต่ละไฟล์ในไดเรกทอรีนี้จะสร้างอินสแตนซ์ออบเจ็กต์การ์ดที่แอป Chat จะส่งกลับไปยัง Chat เป็นข้อความการ์ดหรือการตอบกลับการดำเนินการในกล่องโต้ตอบ
views/widgets/*.js- แต่ละไฟล์จะสร้างอินสแตนซ์
ออบเจ็กต์ประเภทวิดเจ็ต
ที่แอปใช้เพื่อสร้างการ์ดในไดเรกทอรี
views/ test/**/*.test.js- ไฟล์แต่ละไฟล์ในไดเรกทอรีนี้และไดเรกทอรีย่อยจะมี Unit Test
สำหรับฟังก์ชัน คอนโทรลเลอร์ บริการ มุมมอง หรือวิดเจ็ตที่เกี่ยวข้อง
คุณเรียกใช้ Unit Test ทั้งหมดได้โดยเรียกใช้
npm run testขณะอยู่ใน ไดเรกทอรีรากของโปรเจ็กต์
สร้างและติดตั้งใช้งาน Cloud Function
ในส่วนนี้ คุณจะสร้างและทำให้ใช้งานได้ Cloud Function ที่ประกอบด้วยตรรกะของแอปพลิเคชันของแอป Chat สำหรับการจัดการโครงการ
Cloud Function จะทํางานเพื่อตอบสนองต่อคําขอ HTTP จาก Chat ซึ่งมีเหตุการณ์การโต้ตอบของ Chat เมื่อเรียกใช้ โค้ด Cloud Functions จะประมวลผลเหตุการณ์และ ส่งคืนการตอบกลับไปยัง Chat ซึ่ง Chat จะแสดงผลเป็น ข้อความ กล่องโต้ตอบ หรือการโต้ตอบกับผู้ใช้ประเภทอื่นๆ หากเกี่ยวข้อง Cloud Function จะอ่านหรือเขียนไปยังฐานข้อมูล Firestore ด้วย
วิธีสร้าง Cloud Function มีดังนี้
คอนโซล Google API
ดาวน์โหลดโค้ดจาก 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
ในหน้าสร้างฟังก์ชัน ให้ตั้งค่าฟังก์ชันดังนี้
- ในสภาพแวดล้อม ให้เลือก Cloud Run Function
- ในชื่อฟังก์ชัน ให้ป้อน
project-management-tutorial - เลือกภูมิภาคในภูมิภาค
- ในส่วนการตรวจสอบสิทธิ์ ให้เลือก อนุญาตการเรียกใช้ที่ไม่ได้รับการตรวจสอบสิทธิ์
- คลิกถัดไป
ในรันไทม์ ให้เลือก Node.js 20
ในจุดแรกเข้า ให้ลบข้อความเริ่มต้นและป้อน
projectManagementChatAppในซอร์สโค้ด ให้เลือกอัปโหลด Zip
ใน Bucket ปลายทาง ให้ สร้าง หรือเลือก Bucket ดังนี้
- คลิกเลือกดู
- เลือก Bucket
- คลิกเลือก
Google Cloud จะอัปโหลดไฟล์ ZIP ไปยัง Bucket นี้และแตกไฟล์คอมโพเนนต์ ใน Bucket นี้ จากนั้น Cloud Functions จะคัดลอกไฟล์คอมโพเนนต์ไปยัง Cloud Function
ในไฟล์ ZIP ให้อัปโหลดไฟล์ ZIP ที่คุณดาวน์โหลดจาก GitHub แตกไฟล์ และบีบอัดอีกครั้ง
- คลิกเลือกดู
- ไปที่ไฟล์ ZIP แล้วเลือกไฟล์
- คลิกเปิด
คลิกติดตั้งใช้งาน
หน้ารายละเอียด Cloud Functionsจะเปิดขึ้น และ Cloud Function ของคุณจะปรากฏขึ้น พร้อมตัวบ่งชี้ความคืบหน้า 2 รายการ ได้แก่ ตัวบ่งชี้สำหรับการสร้างและตัวบ่งชี้สำหรับบริการ เมื่อตัวบ่งชี้ความคืบหน้าทั้ง 2 รายการหายไปและแทนที่ด้วยเครื่องหมายถูก แสดงว่าฟังก์ชันได้รับการติดตั้งใช้งานและพร้อมใช้งานแล้ว
แก้ไขโค้ดตัวอย่างเพื่อตั้งค่าคงที่
- ในหน้ารายละเอียด Cloud Function ให้คลิกแก้ไข
- คลิกถัดไป
- ในซอร์สโค้ด ให้เลือกเอดิเตอร์ในหน้า
- เปิดไฟล์
env.jsในเครื่องมือแก้ไขในบรรทัด - แทนที่ project-id ด้วยรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- ไม่บังคับ: อัปเดต us-central1 ด้วย ตำแหน่งที่รองรับ สำหรับ Cloud Function
คลิกติดตั้งใช้งาน
เมื่อฟังก์ชันติดตั้งใช้งานเสร็จแล้ว ให้คัดลอก URL ทริกเกอร์โดยทำดังนี้
- ในหน้ารายละเอียดฟังก์ชัน ให้คลิกทริกเกอร์
- คัดลอก URL คุณต้องใช้ค่าดังกล่าวเพื่อกำหนดค่าแอป Chat ในส่วนต่อไปนี้
gcloud CLI
โคลนโค้ดจาก GitHub
git clone https://github.com/googleworkspace/add-ons-samples.gitเปลี่ยนไปใช้ไดเรกทอรีที่มีโค้ดสำหรับแอปแชทการจัดการโปรเจ็กต์นี้
cd add-ons-samples/node/chat/project-management-appแก้ไขไฟล์
env.jsเพื่อตั้งค่าตัวแปรสภาพแวดล้อม- แทนที่ project-id ด้วยรหัสโปรเจ็กต์ Google Cloud
- แทนที่ us-central1 ด้วยตำแหน่งโปรเจ็กต์ Google Cloud
ติดตั้งใช้งาน Cloud Function ใน 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
ส่วนนี้จะแสดงวิธีกำหนดค่า Chat API ใน คอนโซล Google API พร้อมข้อมูลเกี่ยวกับแอป Chat ของคุณ ซึ่งรวมถึงชื่อของแอป Chat, คำสั่ง เครื่องหมายทับที่รองรับ และ URL ทริกเกอร์ของ Cloud Function ของแอป Chat ที่แอปส่งเหตุการณ์การโต้ตอบใน Chat ไปให้
ใน คอนโซล Google API ให้คลิกเมนู > API และบริการ > API และบริการที่เปิดใช้ > Google Chat API > การกำหนดค่า
ในส่วนชื่อแอป ให้พิมพ์
Project Managerใน URL อวตาร ให้พิมพ์
https://developers.google.com/chat/images/quickstart-app-avatar.pngในคำอธิบาย ให้พิมพ์
Manages projects with user stories.คลิกปุ่มเปิด/ปิดเปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟไปที่ตำแหน่งเปิด
ในส่วนฟังก์ชันการทำงาน ให้เลือกเข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก URL ปลายทาง HTTP
คัดลอกอีเมลบัญชีบริการ คุณต้องใช้อีเมลนี้เมื่อให้สิทธิ์ แอป Google Chat เพื่อเรียกใช้ฟังก์ชัน
ในส่วนทริกเกอร์ ให้เลือกใช้ URL ปลายทาง HTTP ทั่วไปสำหรับทริกเกอร์ทั้งหมด
ใน HTTP Endpoint URL ให้วาง URL ทริกเกอร์ของ Cloud Function ในรูปแบบ
https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorialหากคุณติดตั้งใช้งาน Cloud Function ด้วย gcloud CLI นี่คือพร็อพเพอร์ตี้urlลงทะเบียนคำสั่งเครื่องหมายทับของแอป Chat วิธีลงทะเบียนคำสั่งเครื่องหมายทับ
- ในส่วนคำสั่ง ให้คลิกเพิ่มคำสั่ง
สำหรับแต่ละคำสั่งที่มีรายละเอียดในตารางต่อไปนี้ ให้ป้อนรหัสคำสั่ง ป้อนคำอธิบาย ในส่วนประเภทคำสั่ง ให้เลือก คำสั่งเครื่องหมายทับ ป้อนชื่อคำสั่งเครื่องหมายทับ เลือกกล่องโต้ตอบ แล้วคลิกเสร็จสิ้น
รหัสคำสั่ง คำอธิบาย ชื่อคำสั่งเครื่องหมายทับ Dialog 1 สร้างเรื่องราวที่มีชื่อที่ระบุ /createUserStoryไม่ได้เลือกไว้ 2 แสดงเรื่องราวทั้งหมดที่กำหนดให้กับผู้ใช้ /myUserStoriesไม่ได้เลือกไว้ 3 แสดงสถานะปัจจุบันของเรื่องราวที่ระบุ /userStoryไม่ได้เลือกไว้ 4 เปิดกล่องโต้ตอบที่แก้ไขเรื่องราวได้ /manageUserStoriesเลือกแล้ว 5 ลบเรื่องราวทั้งหมดในพื้นที่ทำงาน /cleanupUserStoriesไม่ได้เลือกไว้
ในส่วนระดับการแชร์ ให้เลือก ทำให้แอป Google Chat นี้พร้อมใช้งานสำหรับบุคคลและ กลุ่มที่เฉพาะเจาะจงในโดเมน Workspace แล้วป้อนอีเมลของคุณ
ไม่บังคับ: ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
คลิกบันทึก ข้อความ "บันทึกการกำหนดค่าแล้ว" จะปรากฏขึ้น
แอป Chat พร้อมรับและตอบกลับ ข้อความใน Chat แล้ว
ทดสอบแอป Chat
ทดสอบแอป Chat สำหรับการจัดการโครงการโดยการส่งข้อความถึงแอป และใช้คำสั่งเครื่องหมายทับเพื่อสร้าง แก้ไข และลบเรื่องราวของผู้ใช้
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่
- ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น
- ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์
Helloแล้ว กดenterแอปแชทการจัดการโครงการจะตอบกลับด้วยเมนูความช่วยเหลือที่อธิบายรายละเอียดสิ่งที่แอปทำได้ - หากต้องการสร้างสตอรี่ ให้พิมพ์
/createUserStory Test storyใน แถบข้อความแล้วส่ง แอปแชทการจัดการโครงการจะตอบกลับด้วยข้อความการ์ดที่แสดงรายละเอียดเรื่องราวของผู้ใช้ที่สร้างให้คุณโดยใช้ Generative AI จาก Vertex AI ในคอนโซล API ให้ตรวจสอบฐานข้อมูล Firestore เพื่อตรวจสอบ บันทึกที่สร้างขึ้นเกี่ยวกับพื้นที่ทำงานที่คุณเพิ่ม แอป Chat ผู้ใช้ที่โต้ตอบกับแอป และเรื่องราวของผู้ใช้ที่คุณสร้างขึ้น
กลับไปที่ Google Chat
- หากต้องการแก้ไขสตอรี่ ให้คลิกแก้ไข เมื่อพอใจกับ เรื่องราวแล้ว ให้คลิกบันทึก
- ทดสอบคำสั่งเครื่องหมายทับแต่ละรายการที่แอปนั้นรองรับ หากต้องการดูคำสั่ง ให้พิมพ์
/หรือพูดถึงแอป Chat - ลบเรื่องราวของผู้ใช้ที่ใช้ทดสอบโดยใช้
/cleanupUserStoriesคำสั่งเครื่องหมายทับ หรือจะนำแอปออกหรือถอนการติดตั้งก็ได้ เมื่อนำออกแล้ว แอปจะลบเรื่องราวของผู้ใช้ทั้งหมดที่สร้างในพื้นที่ทำงานนั้น
แก้ปัญหา
เมื่อแอป Google Chat หรือการ์ดแสดงข้อผิดพลาด อินเทอร์เฟซ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ดำเนินการตามคำขอของคุณไม่ได้" บางครั้ง UI ของ Chat อาจไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอป Chat หรือ การ์ดอาจให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความในการ์ดอาจไม่ ปรากฏ
แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่ปรากฏใน UI ของ Chat แต่ข้อความแสดงข้อผิดพลาดและข้อมูลบันทึกที่อธิบายไว้จะช่วยคุณแก้ไขข้อผิดพลาดได้เมื่อเปิดการบันทึกข้อผิดพลาดสำหรับแอป Chat หากต้องการความช่วยเหลือในการดู การแก้ไขข้อบกพร่อง และการแก้ไขข้อผิดพลาด โปรดดู แก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google API ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบ โปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- วางแผนการเดินทางด้วย AI Agent ที่เข้าถึงได้ใน Google Workspace
- ตอบคำถามโดยอิงตามการสนทนาใน Chat ด้วยแอป Gemini AI Chat
- ตอบสนองต่อเหตุการณ์ด้วย Google Chat, Vertex AI, Apps Script และการตรวจสอบสิทธิ์ผู้ใช้
- ตรวจสอบข้อเท็จจริงของข้อความด้วย AI Agent ของ ADK และโมเดล Gemini
- ผสานรวมแนวคิด AI ขั้นพื้นฐานในแอป Chat
- สร้างแอปใน Chat เป็นส่วนเสริมของ Google Workspace ด้วย Apps Script