บทแนะนำนี้แสดงวิธีสร้างแอป Google Chat ที่ทีมใช้จัดการโปรเจ็กต์ได้แบบเรียลไทม์ แอป Chat ใช้ Vertex AI เพื่อช่วยให้ทีมเขียน User Story (ซึ่งแสดงถึงฟีเจอร์ของระบบซอฟต์แวร์จากมุมมองของผู้ใช้เพื่อให้ทีมพัฒนา) และจัดเก็บเรื่องราวในฐานข้อมูล Firestore
-
รูปที่ 1 ชาร์ลีพูดคุยเรื่องการพัฒนาฟีเจอร์ในพื้นที่ใน Chat กับทีม การกล่าวถึงแอป Chat สำหรับการจัดการโปรเจ็กต์จะแจ้งให้แอป Chat เสนอความช่วยเหลือ -
รูปที่ 2 /createUserStory
ชาร์ลีใช้คำสั่งเครื่องหมายทับเพื่อสร้างเรื่องราว -
รูปที่ 3 แอป Chat สำหรับการจัดการโปรเจ็กต์ใช้ Vertex AI เพื่อเขียนคำอธิบายเรื่องราว จากนั้นแชร์เรื่องราวในพื้นที่ -
รูปที่ 4 ชาร์ลีคลิกแก้ไขเพื่อสรุปรายละเอียดของเรื่อง คำอธิบาย AI ถูกต้อง แต่ชาร์ลีต้องการรายละเอียดเพิ่มเติม จึงคลิกขยายเพื่อให้ Vertex AI เพิ่มข้อกำหนดลงในคำอธิบายเรื่องราว ชาร์ลีมอบหมายเรื่องราวให้ตัวเอง ตั้งค่าสถานะเป็น "เริ่มแล้ว" เลือกความสำคัญและขนาดที่เหมาะสม แล้วคลิกบันทึก -
รูปที่ 5 ชาร์ลีสามารถดูและจัดการเรื่องราวของผู้ใช้ทั้งหมดของทีมได้ทุกเมื่อด้วย /manageUserStories
คำสั่งเครื่องหมายทับ
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
สิทธิ์เข้าถึงบริการของ Google Cloud เพื่อดำเนินการต่อไปนี้
- สร้างโปรเจ็กต์ Google Cloud
- ลิงก์บัญชีสำหรับการเรียกเก็บเงินใน Google Cloud กับโปรเจ็กต์ 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: ฐานข้อมูลเอกสารแบบไร้เซิร์ฟเวอร์ แอป 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 สำหรับการจัดการโปรเจ็กต์โดยการส่งข้อความถึงแอปโดยตรง กล่าวถึงแอปในพื้นที่ทำงาน หรือป้อนคำสั่งด้วยเครื่องหมายทับ
แชทจะส่งคำขอ HTTP แบบซิงโครนัสไปยังปลายทาง HTTP ของ Cloud Function
แอป Google Chat สำหรับการจัดการโปรเจ็กต์จะประมวลผลคำขอ HTTP ดังนี้
Vertex AI ช่วยเขียนหรืออัปเดต User Story
ฐานข้อมูล Firestore จะจัดเก็บ เรียกข้อมูล อัปเดต หรือลบข้อมูลเรื่องราวของผู้ใช้
Cloud Functions จะส่งการตอบกลับ HTTP ไปยัง Chat ซึ่งจะแสดงต่อผู้ใช้เป็นข้อความหรือกล่องโต้ตอบ
เตรียมสภาพแวดล้อม
ส่วนนี้แสดงวิธีสร้างและกำหนดค่าโปรเจ็กต์ Google Cloud สำหรับ แอป Chat
สร้างโปรเจ็กต์ Google Cloud
คอนโซล Google Cloud
- ใน Google Cloud Console ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > สร้างโปรเจ็กต์
-
ในช่องชื่อโปรเจ็กต์ ให้ป้อนชื่อที่สื่อความหมายสำหรับโปรเจ็กต์
ไม่บังคับ: หากต้องการแก้ไขรหัสโปรเจ็กต์ ให้คลิกแก้ไข คุณจะเปลี่ยนรหัสโปรเจ็กต์ไม่ได้ หลังจากสร้างโปรเจ็กต์แล้ว ดังนั้นให้เลือกรหัสที่ตรงกับความต้องการตลอดอายุการใช้งานของ โปรเจ็กต์
- ในช่องสถานที่ ให้คลิกเรียกดูเพื่อแสดงสถานที่ที่อาจเป็นไปได้สำหรับ โปรเจ็กต์ จากนั้นคลิกเลือก
- คลิกสร้าง Google Cloud Console จะนำคุณไปยังหน้าแดชบอร์ดและสร้างโปรเจ็กต์ภายในไม่กี่นาที
gcloud CLI
ในสภาพแวดล้อมการพัฒนาอย่างใดอย่างหนึ่งต่อไปนี้ ให้เข้าถึง Google Cloud
CLI (gcloud
)
-
Cloud Shell: หากต้องการใช้เทอร์มินัลออนไลน์ที่มีการตั้งค่า gcloud CLI ไว้แล้ว ให้เปิดใช้งาน Cloud Shell
เปิดใช้งาน Cloud Shell -
เชลล์ในเครื่อง: หากต้องการใช้สภาพแวดล้อมการพัฒนาในเครื่อง ให้
ติดตั้งและ
เริ่มต้น
gcloud CLI
หากต้องการสร้างโปรเจ็กต์ Cloud ให้ใช้คำสั่งgcloud projects create
แทนที่ PROJECT_ID โดยตั้งรหัสสำหรับโปรเจ็กต์ที่ต้องการสร้างgcloud projects create PROJECT_ID
เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud
คอนโซล Google Cloud
- ในคอนโซล Google Cloud ให้ไปที่การเรียกเก็บเงิน คลิก เมนู > การเรียกเก็บเงิน > โปรเจ็กต์ของฉัน
- ในเลือกองค์กร ให้เลือกองค์กรที่เชื่อมโยงกับ โปรเจ็กต์ Google Cloud
- ในแถวของโปรเจ็กต์ ให้เปิดเมนูการดำเนินการ ( ) คลิกเปลี่ยนการเรียกเก็บเงิน แล้วเลือก บัญชี Cloud Billing
- คลิกตั้งค่าบัญชี
gcloud CLI
- หากต้องการแสดงรายการบัญชีสำหรับการเรียกเก็บเงินที่ใช้ได้ ให้เรียกใช้คำสั่งต่อไปนี้
gcloud billing accounts list
- ลิงก์บัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ Google Cloud โดยทำดังนี้
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
แทนที่ค่าต่อไปนี้
PROJECT_ID
คือรหัสโปรเจ็กต์ของ โปรเจ็กต์ Cloud ที่คุณต้องการเปิดใช้การเรียกเก็บเงิน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 ในโปรเจ็กต์ Cloud ที่ถูกต้อง จากนั้นคลิกถัดไป
ยืนยันว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
gcloud CLI
หากจำเป็น ให้ตั้งค่าโปรเจ็กต์ Cloud ปัจจุบันเป็นโปรเจ็กต์ที่คุณสร้างด้วยคำสั่ง
gcloud config set project
gcloud config set project PROJECT_ID
แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ของ โปรเจ็กต์ Cloud ที่คุณสร้าง
เปิดใช้ 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
ซึ่งแต่ละเอกสารแสดงถึงพื้นที่ทำงานที่แอป 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 Cloud
ไปที่ Firestore ในคอนโซล Google Cloud คลิกเมนู > Firestore
คลิกสร้างฐานข้อมูล
จากเลือกโหมด Firestore ให้คลิกโหมดดั้งเดิม
คลิกต่อไป
กำหนดค่าฐานข้อมูล
ในส่วนตั้งชื่อฐานข้อมูล ให้ปล่อยรหัสฐานข้อมูลเป็น
(default)
ในประเภทสถานที่ตั้ง ให้ระบุภูมิภาคสำหรับฐานข้อมูล เช่น
us-central1
เพื่อประสิทธิภาพที่ดีที่สุด ให้เลือกตำแหน่งเดียวกันหรือตำแหน่งที่อยู่ใกล้เคียงกับ Cloud Function ของแอป Chat
คลิกสร้างฐานข้อมูล
gcloud CLI
สร้างฐานข้อมูล Firestore ในโหมดดั้งเดิมด้วยคำสั่ง
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 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
สำหรับฟังก์ชัน คอนโทรลเลอร์ บริการ มุมมอง หรือวิดเจ็ตที่เกี่ยวข้อง
คุณเรียกใช้การทดสอบหน่วยทั้งหมดได้โดยเรียกใช้
npm run test
ขณะอยู่ใน ไดเรกทอรีรากของโปรเจ็กต์
สร้างและทำให้ Cloud Function ใช้งานได้
ในส่วนนี้ คุณจะได้สร้างและติดตั้งใช้งาน Cloud Function ซึ่งประกอบด้วยตรรกะของแอปพลิเคชันของแอปใน Chat สำหรับการจัดการโปรเจ็กต์
Cloud Function จะทํางานเพื่อตอบสนอง ต่อคําขอ HTTP จาก Chat ซึ่งมีเหตุการณ์การโต้ตอบของ Chat เมื่อเรียกใช้ โค้ด Cloud Functions จะประมวลผลเหตุการณ์และ ส่งคืนการตอบกลับไปยัง 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 แล้ว
คลิก
Create Functionในหน้าสร้างฟังก์ชัน ให้ตั้งค่าฟังก์ชันดังนี้
- ในสภาพแวดล้อม ให้เลือก Cloud Run Function
- ในชื่อฟังก์ชัน ให้ป้อน
project-management-tutorial
- เลือกภูมิภาคในภูมิภาค
- ในส่วนการตรวจสอบสิทธิ์ ให้เลือก อนุญาตการเรียกใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์
- คลิกถัดไป
ในรันไทม์ ให้เลือก Node.js 20
ในจุดแรกเข้า ให้ลบข้อความเริ่มต้นแล้วป้อน
projectManagementChatApp
ในซอร์สโค้ด ให้เลือกอัปโหลด ZIP
ในที่เก็บข้อมูลปลายทาง ให้ สร้าง หรือเลือกที่เก็บข้อมูล
- คลิกเลือกดู
- เลือกที่เก็บข้อมูล
- คลิกเลือก
Google Cloud จะอัปโหลดไฟล์ ZIP ไปยังที่เก็บข้อมูลนี้และแตกไฟล์คอมโพเนนต์ ในที่เก็บข้อมูลนี้ จากนั้น Cloud Functions จะคัดลอกไฟล์คอมโพเนนต์ไปยัง Cloud Function
ในไฟล์ ZIP ให้อัปโหลดไฟล์ ZIP ที่คุณดาวน์โหลดจาก GitHub แตกไฟล์ และบีบอัดอีกครั้ง
- คลิกเลือกดู
- ไปที่ไฟล์ ZIP แล้วเลือก
- คลิกเปิด
คลิกทำให้ใช้งานได้
หน้ารายละเอียด Cloud Functions จะเปิดขึ้น และฟังก์ชันจะปรากฏพร้อมตัวบ่งชี้ความคืบหน้า 2 รายการ ได้แก่ ตัวบ่งชี้สำหรับการสร้างและตัวบ่งชี้สำหรับบริการ เมื่อตัวบ่งชี้ความคืบหน้าทั้ง 2 รายการหายไปและแทนที่ด้วยเครื่องหมายถูก แสดงว่าฟังก์ชันได้รับการติดตั้งใช้งานและพร้อมใช้งานแล้ว
แก้ไขโค้ดตัวอย่างเพื่อตั้งค่าคงที่
- ในหน้ารายละเอียด Cloud Function ให้คลิกแก้ไข
- คลิกถัดไป
- ในซอร์สโค้ด ให้เลือกตัวแก้ไขในหน้า
- เปิดไฟล์
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 Functions ที่โฮสต์โครงสร้างพื้นฐาน เช่น
us-central1
- เมื่อฟังก์ชันติดตั้งใช้งานเสร็จแล้ว ให้คัดลอกพร็อพเพอร์ตี้
url
จากการตอบกลับ นี่คือ URL ทริกเกอร์ที่คุณใช้ในส่วนถัดไปเพื่อ กำหนดค่าแอป Google Chat
กำหนดค่าแอป Google Chat ใน Google Cloud Console
ส่วนนี้แสดงวิธีกำหนดค่า 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.
คลิกปุ่มเปิด/ปิดเปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟไปที่ตำแหน่งเปิด
ในส่วนฟังก์ชันการทำงาน ให้เลือกเข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก URL ของปลายทาง HTTP
ใน HTTP Endpoint URL ให้วาง URL ทริกเกอร์ที่คัดลอกจาก Cloud Functions Deployment โดยจัดรูปแบบเป็น
https://
REGION-
PROJECT_ID.cloudfunctions.net/project-management-tutorial
หากคุณติดตั้งใช้งาน Cloud Function ด้วย gcloud CLI นี่คือพร็อพเพอร์ตี้url
ลงทะเบียนคำสั่งเครื่องหมายทับของแอป Chat วิธีลงทะเบียนคำสั่งเครื่องหมายทับ
- ในส่วนคำสั่ง ให้คลิกเพิ่มคำสั่ง
สำหรับคำสั่ง Slash แต่ละรายการที่มีรายละเอียดในตารางต่อไปนี้ ให้ป้อนชื่อ รหัสคำสั่ง คำอธิบาย และเลือกว่า คำสั่ง Slash เปิดกล่องโต้ตอบหรือไม่ แล้วคลิกเสร็จสิ้น
ชื่อ รหัสคำสั่ง คำอธิบาย ประเภทคำสั่ง ชื่อคำสั่งเครื่องหมายทับ เปิดกล่องโต้ตอบ สร้าง User Story 1 สร้างเรื่องราวที่มีชื่อที่ระบุ คำสั่งเครื่องหมายทับ /createUserStory
ไม่ได้เลือกไว้ เรื่องราวของผู้ใช้ของฉัน 2 แสดงเรื่องราวทั้งหมดที่กำหนดให้กับผู้ใช้ คำสั่งเครื่องหมายทับ /myUserStories
ไม่ได้เลือกไว้ เรื่องราวของผู้ใช้ 3 แสดงสถานะปัจจุบันของเรื่องราวที่ระบุ คำสั่งเครื่องหมายทับ /userStory
ไม่ได้เลือกไว้ จัดการ User Story 4 เปิดกล่องโต้ตอบที่แก้ไขเรื่องราวได้ คำสั่งเครื่องหมายทับ /manageUserStories
เลือกแล้ว ล้างเรื่องราวของผู้ใช้ 5 ลบเรื่องราวทั้งหมดในพื้นที่ทำงาน คำสั่งเครื่องหมายทับ /cleanupUserStories
ไม่ได้เลือกไว้
ในส่วนระดับการเข้าถึง ให้เลือก ทำให้แอป Chat นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจงในโดเมน Workspace ของคุณ แล้วป้อนอีเมล
ไม่บังคับ: ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
คลิกบันทึก ข้อความ "บันทึกการกำหนดค่าแล้ว" จะปรากฏขึ้น ซึ่งหมายความว่า แอป Chat พร้อมทดสอบแล้ว
ทดสอบแอป Chat
ทดสอบแอป Chat สำหรับการจัดการโปรเจ็กต์โดยการส่งข้อความถึงแอป และใช้คำสั่ง Slash ของแอปเพื่อสร้าง แก้ไข และลบ User Story
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุเมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่
- ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น
- ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์
Hello
แล้ว กดenter
แอปแชทสำหรับการจัดการโปรเจ็กต์จะตอบกลับด้วยเมนูความช่วยเหลือที่อธิบายรายละเอียดสิ่งที่แอปทำได้ - หากต้องการสร้างสตอรี่ ให้พิมพ์
/createUserStory Test story
ในแถบข้อความแล้วส่ง แอปแชทการจัดการโปรเจ็กต์ จะตอบกลับด้วยข้อความการ์ดที่แสดงรายละเอียด เรื่องราวของผู้ใช้ที่สร้างให้คุณโดยใช้ Generative AI จาก Vertex AI ในคอนโซล ให้ตรวจสอบฐานข้อมูล Firestore เพื่อตรวจสอบบันทึกที่สร้างขึ้นเกี่ยวกับพื้นที่ทำงานที่คุณเพิ่มแอป Chat ลงไป ผู้ใช้ที่โต้ตอบกับพื้นที่ทำงาน และเรื่องราวของผู้ใช้ที่คุณสร้างขึ้น
กลับไปที่ Google Chat
- หากต้องการแก้ไขสตอรี่ ให้คลิกแก้ไข เมื่อพอใจกับ เรื่องราวแล้ว ให้คลิกบันทึก
- ทดสอบคำสั่ง Slash แต่ละรายการที่แอปนั้นรองรับ หากต้องการดูคำสั่ง ให้พิมพ์
/
หรือกล่าวถึงแอป Chat - ลบ User Story สำหรับการทดสอบโดยใช้
/cleanupUserStories
คำสั่ง Slash หรือจะนำแอปออกหรือถอนการติดตั้งก็ได้ เมื่อนำออกแล้ว แอปจะลบเรื่องราวของผู้ใช้ทั้งหมดที่สร้างไว้ในพื้นที่นั้น
แก้ปัญหา
เมื่อแอป Google Chat หรือการ์ดแสดงข้อผิดพลาด อินเทอร์เฟซของ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ดำเนินการตามคำขอของคุณไม่ได้" บางครั้ง UI ของ Chat อาจไม่แสดงข้อความแสดงข้อผิดพลาดใดๆ แต่แอปหรือการ์ด Chat อาจให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความในการ์ดอาจไม่ปรากฏ
แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat แต่ข้อความแสดงข้อผิดพลาดและข้อมูลบันทึกที่อธิบายไว้จะช่วยคุณแก้ไขข้อผิดพลาดได้เมื่อเปิดการบันทึกข้อผิดพลาดสำหรับแอป Chat หากต้องการความช่วยเหลือในการดู การแก้ไขข้อบกพร่อง และการแก้ไขข้อผิดพลาด โปรดดูหัวข้อ แก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบ โปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- ตอบคำถามตามการสนทนาในแชทด้วยแอป Gemini AI Chat
- ตอบสนองต่อเหตุการณ์ด้วย Google Chat, Vertex AI และ Apps Script