บทแนะนำนี้จะแสดงวิธีสร้างแอป Google Chat ที่ทีมใช้จัดการโปรเจ็กต์ได้แบบเรียลไทม์ แอป Chat ใช้ Vertex AI เพื่อช่วยทีมเขียนสตอรี่ผู้ใช้ (ซึ่งแสดงถึงฟีเจอร์ของระบบซอฟต์แวร์จากมุมมองของผู้ใช้เพื่อให้ทีมพัฒนา) และเก็บสตอรี่ไว้ในฐานข้อมูล Firestore
-
รูปที่ 2 Charlie สร้างเรื่องราวโดยใช้ /createUserStory
คำสั่งเครื่องหมายทับ -
รูปที่ 3 แอป Chat สำหรับการจัดการโปรเจ็กต์ใช้ Vertex AI เพื่อเขียนคำอธิบายเรื่องราว จากนั้นแชร์เรื่องราวในพื้นที่ทำงาน -
รูปที่ 4 ชุติพลคลิกแก้ไขเพื่อสรุปรายละเอียดของเรื่องราว คำอธิบายของ AI ถูกต้อง แต่ Charlie ต้องการรายละเอียดเพิ่มเติม จึงคลิกขยายเพื่อให้ Vertex AI เพิ่มข้อกำหนดลงในคำอธิบายเรื่องราว Charlie มอบหมายเรื่องราวให้ตนเอง ตั้งค่าสถานะเป็น "เริ่มต้น" เลือกลําดับความสําคัญและขนาดที่เหมาะสม แล้วคลิกบันทึก -
รูปที่ 5 ชุติมาดูและจัดการเรื่องราวของผู้ใช้ทั้งหมดของทีมได้ทุกเมื่อด้วยคำสั่งเครื่องหมายทับ /manageUserStories
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace Business หรือ Enterprise ที่มีสิทธิ์ใช้งาน Google Chat
เข้าถึงบริการ Google Cloud เพื่อทำสิ่งต่อไปนี้
- สร้างโปรเจ็กต์ Google Cloud
- ลิงก์บัญชีสำหรับการเรียกเก็บเงินใน Google Cloud กับโปรเจ็กต์ Cloud หากต้องการดูว่าคุณมีสิทธิ์เข้าถึงหรือไม่ โปรดดูสิทธิ์ที่จําเป็นในการเปิดใช้การเรียกเก็บเงิน
ใช้การเรียกใช้ Google Cloud Function ที่ไม่ได้ตรวจสอบสิทธิ์ ซึ่งคุณสามารถยืนยันได้ด้วยการพิจารณาว่าองค์กร Google Cloud ใช้การแชร์แบบจำกัดโดเมนหรือไม่
หากจำเป็น ให้ขอสิทธิ์เข้าถึงหรือสิทธิ์จากผู้ดูแลระบบ Google Cloud
หากใช้ Google Cloud CLI ให้ใช้สภาพแวดล้อมการพัฒนา Node.js ที่กําหนดค่าให้ทํางานร่วมกับ gcloud CLI ดูหัวข้อการตั้งค่าสภาพแวดล้อมการพัฒนา Node.js
วัตถุประสงค์
- สร้างแอปใน Chat ที่จัดการโปรเจ็กต์ซอฟต์แวร์แบบ Agile
- ช่วยให้ผู้ใช้เขียนเรื่องราวผู้ใช้ด้วยเครื่องมือเขียนเรื่องราวแบบ 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 เพื่อเขียนชื่อและคําอธิบายสตอรี่ผู้ใช้
- 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 เพื่อช่วยเขียน User Story และจัดเก็บรายละเอียด User Story ในฐานข้อมูล 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 Cloud
- ใน Google Cloud Console ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > สร้างโปรเจ็กต์
-
ป้อนชื่อที่สื่อความหมายสำหรับโปรเจ็กต์ในช่องชื่อโปรเจ็กต์
ไม่บังคับ: หากต้องการแก้ไขรหัสโปรเจ็กต์ ให้คลิกแก้ไข คุณจะเปลี่ยนรหัสโปรเจ็กต์ไม่ได้หลังจากสร้างโปรเจ็กต์แล้ว ดังนั้นโปรดเลือกรหัสที่ตรงกับความต้องการของคุณตลอดอายุการใช้งานของโปรเจ็กต์
- ในช่องสถานที่ ให้คลิกเรียกดูเพื่อแสดงสถานที่ที่เป็นไปได้สำหรับโปรเจ็กต์ จากนั้นคลิกเลือก
- คลิกสร้าง คอนโซล Google Cloud จะไปยังหน้าแดชบอร์ดและสร้างโปรเจ็กต์ภายในไม่กี่นาที
gcloud CLI
เข้าถึง Google Cloud CLI (gcloud
) ในสภาพแวดล้อมการพัฒนาอย่างใดอย่างหนึ่งต่อไปนี้
-
Cloud Shell: หากต้องการใช้เทอร์มินัลออนไลน์ที่มีการตั้งค่า gcloud CLI ไว้แล้ว ให้เปิดใช้งาน Cloud Shell
เปิดใช้งาน Cloud Shell -
Local Shell: หากต้องการใช้สภาพแวดล้อมการพัฒนาภายใน ให้ติดตั้งและเริ่มต้น gcloud CLI
หากต้องการสร้างโปรเจ็กต์ Cloud ให้ใช้คำสั่งgcloud projects create
ดังนี้ แทนที่ PROJECT_ID ด้วยการตั้งรหัสสำหรับโปรเจ็กต์ที่ต้องการสร้างgcloud projects create PROJECT_ID
เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์
คอนโซล Google Cloud
- ในคอนโซล Google Cloud ให้ไปที่การเรียกเก็บเงิน คลิกเมนู > การเรียกเก็บเงิน > โปรเจ็กต์ของฉัน
- ในส่วนเลือกองค์กร ให้เลือกองค์กรที่เชื่อมโยงกับโปรเจ็กต์ 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 Cloud
เปิดใช้ API
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้เปิดใช้ Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API และ Cloud Run Admin API
ยืนยันว่าคุณเปิดใช้ API ในโปรเจ็กต์ Google Cloud ที่ถูกต้อง แล้วคลิกถัดไป
ตรวจสอบว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
gcloud CLI
หากจำเป็น ให้ตั้งค่าโปรเจ็กต์ระบบคลาวด์ปัจจุบันเป็นโปรเจ็กต์ที่คุณสร้างด้วยคำสั่ง
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.com
Cloud Build, Pub/Sub และ Cloud Run Admin API เป็นข้อกําหนดเบื้องต้นของ Cloud Functions
การตรวจสอบสิทธิ์และการให้สิทธิ์
คุณไม่จำเป็นต้องมีการกำหนดค่าการตรวจสอบสิทธิ์และการให้สิทธิ์เพื่อทําตามบทแนะนำนี้
หากต้องการเรียกใช้ Firestore และ Vertex AI API บทแนะนํานี้จะใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันกับบัญชีบริการเริ่มต้นที่แนบอยู่กับ Cloud Function ซึ่งคุณไม่จำเป็นต้องตั้งค่า ในบริบทของสภาพแวดล้อมที่ใช้งานจริง คุณมักจะสร้างและแนบบัญชีบริการกับ 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
ฐานข้อมูลแอป Chat สำหรับการจัดการโปรเจ็กต์ใช้โมเดลข้อมูล NoSQL โดยอิงตามโมเดลข้อมูล Firestore
เอกสารที่จัดระเบียบเป็น คอลเล็กชัน ดูข้อมูลเพิ่มเติมได้ที่แผนภาพต่อไปนี้เป็นภาพรวมของโมเดลข้อมูลของแอป Google Chat สำหรับการจัดการโครงการ
คอลเล็กชันรูทคือ spaces
โดยที่แต่ละเอกสารแสดงถึงพื้นที่ทำงานที่แอปแชทสร้างเรื่องราว เรื่องราวผู้ใช้แต่ละเรื่องจะแสดงด้วยเอกสารในคอลเล็กชันย่อย 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 Cloud
ไปที่ Firestore ในคอนโซล Google Cloud คลิก เมนู > Firestore
คลิกสร้างฐานข้อมูล
จากเลือกโหมด Firestore ให้คลิกโหมดเนทีฟ
คลิกต่อไป
กำหนดค่าฐานข้อมูล
ในตั้งชื่อฐานข้อมูล ให้ปล่อยรหัสฐานข้อมูลเป็น
(default)
ในประเภทตำแหน่ง ให้ระบุภูมิภาคสำหรับฐานข้อมูล เช่น
us-central1
โปรดเลือกตำแหน่งเดียวกันหรือใกล้เคียงเป็น Cloud Function ของแอป Chat เพื่อประสิทธิภาพที่ดีที่สุด
คลิกสร้างฐานข้อมูล
gcloud CLI
ตรวจสอบโค้ดตัวอย่าง
ก่อนสร้าง Cloud Function คุณอาจใช้เวลาสักครู่เพื่ออ่านและทำความเข้าใจโค้ดตัวอย่างที่โฮสต์ใน GitHub
ต่อไปนี้เป็นภาพรวมของไฟล์แต่ละไฟล์
env.js
- ตัวแปรการกำหนดค่าสภาพแวดล้อมเพื่อทำให้แอป Chat ใช้งานได้ในโปรเจ็กต์และภูมิภาคของ Google Cloud ที่ระบุ คุณต้องอัปเดตตัวแปรการกําหนดค่าในไฟล์นี้
package.json
และpackage-lock.json
- การตั้งค่าและไลบรารีของโปรเจ็กต์ Node.js
index.js
- จุดแรกเข้าสำหรับ Cloud Function ของแอป Chat โดยจะอ่านเหตุการณ์ใน 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 สําหรับการคาดการณ์ข้อความ Generative AI
model/*.js
- ไฟล์เหล่านี้มีคำจำกัดความของคลาสและลิสต์แบบจำกัดที่บริการแอปพลิเคชันใช้จัดเก็บและส่งข้อมูลระหว่างฟังก์ชัน โดยกำหนดรูปแบบข้อมูลสำหรับฐานข้อมูล Firestore
views/*.js
- แต่ละไฟล์ในไดเรกทอรีนี้จะสร้างออบเจ็กต์การ์ดที่แอป Chat ส่งกลับไปยัง Chat เป็นข้อความในการ์ดหรือการตอบกลับการดำเนินการกล่องโต้ตอบ
views/widgets/*.js
- ไฟล์แต่ละไฟล์จะสร้างวิดเจ็ตประเภทหนึ่งๆ ขึ้นมาเป็นออบเจ็กต์ที่แอปใช้สร้างการ์ดในไดเรกทอรี
views/
test/**/*.test.js
- ไฟล์แต่ละไฟล์ในไดเรกทอรีนี้และไดเรกทอรีย่อยจะมียูนิตเทสต์สำหรับฟังก์ชัน ตัวควบคุม บริการ มุมมอง หรือวิดเจ็ตที่เกี่ยวข้อง
คุณสามารถเรียกใช้การทดสอบหน่วยทั้งหมดได้โดยเรียกใช้
npm run test
ขณะอยู่ในไดเรกทอรีรูทของโปรเจ็กต์
สร้างและทำให้ Cloud Function ใช้งานได้
ในส่วนนี้ คุณจะได้สร้างและทำให้ Cloud Function ใช้งานได้ซึ่งประกอบด้วยตรรกะแอปพลิเคชันของแอป Chat สำหรับการจัดการโปรเจ็กต์
Cloud Function จะทํางานเพื่อตอบสนองต่อคําขอ HTTP จาก Chat ที่มีเหตุการณ์การโต้ตอบของ Chat เมื่อเรียกใช้ โค้ด Cloud Function จะประมวลผลเหตุการณ์และส่งคำตอบไปยัง Chat ซึ่ง Chat จะแสดงผลเป็นข้อความ กล่องโต้ตอบ หรือการโต้ตอบประเภทอื่นๆ ของผู้ใช้ นอกจากนี้ Cloud Function จะอ่านหรือเขียนลงในฐานข้อมูล Firestore ด้วย (หากมี)
วิธีสร้าง Cloud Function มีดังนี้
คอนโซล Google Cloud
ดาวน์โหลดโค้ดจาก GitHub เป็นไฟล์ ZIP
แตกไฟล์ ZIP ที่ดาวน์โหลด
โฟลเดอร์ที่แตกไฟล์จะมีที่เก็บตัวอย่างทั้งหมดของ Google Workspace
ในโฟลเดอร์ที่แตก ให้ไปที่
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/
ในคอนโซล Google Cloud ให้ไปที่หน้า Cloud Functions โดยทำดังนี้
ตรวจสอบว่าได้เลือกโปรเจ็กต์ Google Cloud สำหรับแอป Chat
คลิก
สร้างฟังก์ชันในหน้าสร้างฟังก์ชัน ให้ตั้งค่าฟังก์ชันต่อไปนี้
- ในสภาพแวดล้อม ให้เลือกฟังก์ชัน Cloud Run
- ป้อน
project-management-tutorial
ในชื่อฟังก์ชัน - ในภูมิภาค ให้เลือกภูมิภาค
- ในส่วนการตรวจสอบสิทธิ์ ให้เลือกอนุญาตการเรียกใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์
- คลิกถัดไป
ในรันไทม์ ให้เลือก Node.js 20
ใน Entry Point ให้ลบข้อความเริ่มต้นแล้วป้อน
projectManagementChatApp
ในซอร์สโค้ด ให้เลือกอัปโหลด Zip
ในที่เก็บข้อมูลปลายทาง ให้สร้างหรือเลือกที่เก็บข้อมูล
- คลิกเลือกดู
- เลือกที่เก็บข้อมูล
- คลิกเลือก
Google Cloud จะอัปโหลดไฟล์ ZIP และแตกไฟล์คอมโพเนนต์ในที่เก็บข้อมูลนี้ จากนั้น Cloud Functions จะคัดลอกไฟล์คอมโพเนนต์ไปยัง Cloud Function
ในไฟล์ ZIP ให้อัปโหลดไฟล์ ZIP ที่ดาวน์โหลดจาก GitHub, แตกไฟล์ และบีบอัดอีกครั้ง
- คลิกเลือกดู
- ไปที่ไฟล์ ZIP แล้วเลือกไฟล์
- คลิกเปิด
คลิกทำให้ใช้งานได้
หน้ารายละเอียด Cloud Functions จะเปิดขึ้น และฟังก์ชันจะปรากฏขึ้นพร้อมตัวบ่งชี้ความคืบหน้า 2 รายการ ได้แก่ 1 รายการสำหรับบิลด์และอีก 1 รายการสำหรับบริการ เมื่อตัวบ่งชี้ความคืบหน้าทั้ง 2 รายการหายไปและมีเครื่องหมายถูกแสดงแทน แสดงว่าระบบได้ติดตั้งใช้งานฟังก์ชันแล้วและพร้อมใช้งาน
แก้ไขโค้ดตัวอย่างเพื่อตั้งค่าค่าคงที่
- ในหน้ารายละเอียดฟังก์ชัน Cloud ให้คลิกแก้ไข
- คลิกถัดไป
- เลือกเครื่องมือแก้ไขในบรรทัดในซอร์สโค้ด
- เปิดไฟล์
env.js
ในเครื่องมือแก้ไขในบรรทัด - แทนที่ project-id ด้วยรหัสโปรเจ็กต์ Cloud ของคุณ
- ไม่บังคับ: อัปเดต us-central1 ด้วยตำแหน่งที่รองรับสำหรับ Cloud Function
คลิกทำให้ใช้งานได้
เมื่อฟังก์ชันการทำให้ใช้งานได้เสร็จสิ้นแล้ว ให้คัดลอก URL ของทริกเกอร์ดังนี้
- ในหน้ารายละเอียดฟังก์ชัน ให้คลิกทริกเกอร์
- คัดลอก URL คุณต้องใช้คีย์นี้เพื่อกำหนดค่าแอป Chat ในส่วนต่อไป
gcloud CLI
โคลนโค้ดจาก GitHub โดยทำดังนี้
git clone https://github.com/googleworkspace/google-chat-samples.git
เปลี่ยนไปใช้ไดเรกทอรีที่มีโค้ดสําหรับแอป Chat ที่ใช้จัดการโปรเจ็กต์นี้
cd google-chat-samples/node/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 Function ที่โฮสต์โครงสร้างพื้นฐาน เช่น
us-central1
- เมื่อทำให้ฟังก์ชันใช้งานได้เรียบร้อยแล้ว ให้คัดลอกพร็อพเพอร์ตี้
url
จากการตอบกลับ นี่คือ URL ทริกเกอร์ที่คุณใช้ในส่วนต่อไปนี้เพื่อกำหนดค่าแอป Google Chat
กำหนดค่าแอป Google Chat ในคอนโซล Google Cloud
ส่วนนี้จะแสดงวิธีกำหนดค่า Chat API ในคอนโซล Google Cloud ด้วยข้อมูลเกี่ยวกับแอป Chat ซึ่งรวมถึงชื่อแอป Chat, คำสั่งเครื่องหมายทับที่รองรับ และ URL ทริกเกอร์ของ Cloud Function ของแอป Chat ที่ส่งเหตุการณ์การโต้ตอบของ Chat
ในคอนโซล Google Cloud ให้คลิกเมนู > ผลิตภัณฑ์เพิ่มเติม > Google Workspace > คลังผลิตภัณฑ์ > Google Chat API > จัดการ > การกำหนดค่า
พิมพ์
Project Manager
ในชื่อแอปใน URL ของรูปโปรไฟล์ ให้พิมพ์
https://developers.google.com/chat/images/quickstart-app-avatar.png
ในคำอธิบาย ให้พิมพ์
Manages projects with user stories.
คลิกปุ่มเปิด/ปิดเปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟเป็นเปิด
ในส่วนฟังก์ชันการทำงาน ให้เลือกรับข้อความแบบ 1:1 เข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก URL ปลายทาง HTTP
ใน URL ปลายทางของ HTTP ให้วาง URL ของทริกเกอร์ที่คัดลอกมาจากการติดตั้งใช้งาน Cloud Functions ซึ่งมีรูปแบบเป็น
https://
REGION-
PROJECT_ID.cloudfunctions.net/project-management-tutorial
หากคุณทำให้ Cloud Function ใช้งานได้ด้วย gcloud CLI นี่จะเป็นพร็อพเพอร์ตี้url
ลงทะเบียนคำสั่งเครื่องหมายทับของแอป Chat วิธีลงทะเบียนคำสั่งเครื่องหมายทับ
- คลิกเพิ่มคำสั่งเครื่องหมายทับในส่วนคำสั่งเครื่องหมายทับ
สำหรับคำสั่งเครื่องหมายทับแต่ละคำสั่งตามรายละเอียดในตารางต่อไปนี้ ให้ป้อนชื่อ รหัสคำสั่ง คำอธิบาย และเลือกว่าคำสั่งเครื่องหมายทับ เปิดกล่องโต้ตอบ จากนั้นคลิกเสร็จสิ้น
ชื่อ รหัสคำสั่ง คำอธิบาย เปิดกล่องโต้ตอบ /createUserStory
1 สร้างเรื่องราวที่มีชื่อที่ระบุ ไม่ได้เลือกไว้ /myUserStories
2 แสดงเรื่องราวทั้งหมดที่มอบหมายให้กับผู้ใช้ ไม่ได้เลือกไว้ /userStory
3 แสดงสถานะปัจจุบันของเรื่องราวที่ระบุ ไม่ได้เลือกไว้ /manageUserStories
4 เปิดกล่องโต้ตอบที่แก้ไขเรื่องราวได้ เลือกแล้ว /cleanupUserStories
5 ลบเรื่องราวทั้งหมดในพื้นที่ทำงาน ไม่ได้เลือกไว้
ในส่วนระดับการแชร์ ให้เลือก ทำให้แอป Chat นี้พร้อมใช้งานสำหรับผู้คนและกลุ่มที่ต้องการในโดเมน Workspace แล้วป้อนอีเมลของคุณ
ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดในการบันทึก
คลิกบันทึก ข้อความ "การกําหนดค่าที่บันทึกไว้" จะปรากฏขึ้น ซึ่งหมายความว่าแอปแชทพร้อมที่จะทดสอบแล้ว
ทดสอบแอป Chat
ทดสอบแอป Chat สำหรับการจัดการโปรเจ็กต์โดยการส่งข้อความถึงแอปดังกล่าวและใช้คำสั่งเครื่องหมายทับเพื่อสร้าง แก้ไข และลบสตอรี่ผู้ใช้
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่
- ในช่องเพิ่มผู้คนอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป ของคุณ
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น
- ในข้อความส่วนตัวใหม่ที่มีแอป ให้พิมพ์
Hello
แล้วกดenter
แอป Chat สำหรับการจัดการโปรเจ็กต์จะแสดงเมนูความช่วยเหลือพร้อมรายละเอียดเกี่ยวกับสิ่งที่แอปทำได้ - หากต้องการสร้างเรื่องราว ให้พิมพ์
/createUserStory Test story
ในแถบข้อความแล้วส่ง แอป Chat สำหรับการจัดการโปรเจ็กต์จะตอบกลับด้วยข้อความการ์ดที่แสดงรายละเอียดสตอรี่ผู้ใช้ที่สร้างขึ้นให้คุณโดยใช้ Generative AI จาก Vertex AI ในคอนโซล ให้ตรวจสอบฐานข้อมูล Firestore เพื่อดูระเบียนที่สร้างขึ้นเกี่ยวกับพื้นที่ทำงานที่คุณเพิ่มแอป Chat เข้าไป ผู้ใช้ที่โต้ตอบกับพื้นที่ทำงาน และเรื่องราวผู้ใช้ที่คุณสร้างขึ้น
กลับไปที่ Google Chat
- หากต้องการแก้ไขเรื่องราว (ไม่บังคับ) ให้คลิกแก้ไข เมื่อพอใจกับเรื่องราวแล้ว ให้คลิกบันทึก
- ทดสอบคำสั่งเครื่องหมายทับแต่ละรายการที่แอปรองรับ โดยพิมพ์
/
หรือพูดถึงแอป Chat - ลบ User Story ทดสอบโดยออกคำสั่ง
/cleanupUserStories
slash หรือ นำแอปออกหรือถอนการติดตั้งแอป เมื่อนำออกแล้ว แอปจะลบเรื่องราวผู้ใช้ทั้งหมดที่สร้างขึ้นในพื้นที่นั้น
แก้ปัญหา
เมื่อแอป Google Chat หรือการ์ดแสดงข้อผิดพลาด อินเทอร์เฟซของ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ไม่สามารถดำเนินการตามคำขอของคุณ" บางครั้ง UI ของ Chat ไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอป Chat หรือการ์ดให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ปรากฏ
แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat แต่ก็ยังมีข้อความแสดงข้อผิดพลาดและข้อมูลบันทึกที่สื่อความหมายเพื่อช่วยให้คุณแก้ไขข้อผิดพลาดเมื่อมีการเปิดใช้การบันทึกข้อผิดพลาดสำหรับแอป Chat ได้ หากต้องการความช่วยเหลือในการดู การแก้ไขข้อบกพร่อง และการแก้ไขข้อผิดพลาด โปรดดูแก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- ตอบคำถามตามการสนทนาใน Chat ด้วยแอป Gemini AI Chat
- จัดการเหตุการณ์ด้วย Google Chat, Vertex AI และ Apps Script