จัดการโปรเจ็กต์ด้วย Google Chat, Vertex AI และ Firestore

บทแนะนำนี้จะแสดงวิธีสร้างแอป Google Chat ที่ทีมใช้จัดการโปรเจ็กต์ได้แบบเรียลไทม์ แอป Chat ใช้ Vertex AI เพื่อช่วยทีมเขียนสตอรี่ผู้ใช้ (ซึ่งแสดงถึงฟีเจอร์ของระบบซอฟต์แวร์จากมุมมองของผู้ใช้เพื่อให้ทีมพัฒนา) และเก็บสตอรี่ไว้ในฐานข้อมูล Firestore

  • การพูดถึงแอปการจัดการโครงการจะทริกเกอร์ให้แอปเสนอความช่วยเหลือ
    ภาพที่ 1 Charlie พูดคุยเกี่ยวกับการพัฒนาฟีเจอร์ในพื้นที่ใน Chat กับทีม การพูดถึงแอปการจัดการโปรเจ็กต์ใน Chat จะเป็นการแจ้งให้แอป Chat เสนอความช่วยเหลือ
  • ใช้คำสั่งเครื่องหมายทับ /createUserStory เพื่อสร้างเรื่องราว
    รูปที่ 2 Charlie สร้างเรื่องราวโดยใช้/createUserStoryคำสั่งเครื่องหมายทับ
  • แอป Chat สำหรับการจัดการโปรเจ็กต์ใช้ Vertex AI เพื่อเขียนคำอธิบายเรื่องราว
    รูปที่ 3 แอป Chat สำหรับการจัดการโปรเจ็กต์ใช้ Vertex AI เพื่อเขียนคำอธิบายเรื่องราว จากนั้นแชร์เรื่องราวในพื้นที่ทำงาน
  • Charlie สรุปรายละเอียดเรื่องราว
    รูปที่ 4 ชุติพลคลิกแก้ไขเพื่อสรุปรายละเอียดของเรื่องราว คำอธิบายของ AI ถูกต้อง แต่ Charlie ต้องการรายละเอียดเพิ่มเติม จึงคลิกขยายเพื่อให้ Vertex AI เพิ่มข้อกำหนดลงในคำอธิบายเรื่องราว Charlie มอบหมายเรื่องราวให้ตนเอง ตั้งค่าสถานะเป็น "เริ่มต้น" เลือกลําดับความสําคัญและขนาดที่เหมาะสม แล้วคลิกบันทึก
  • จัดการ User Story ทั้งหมดของทีม
    รูปที่ 5 ชุติมาดูและจัดการเรื่องราวของผู้ใช้ทั้งหมดของทีมได้ทุกเมื่อด้วยคำสั่งเครื่องหมายทับ /manageUserStories

ข้อกำหนดเบื้องต้น

วัตถุประสงค์

  • สร้างแอปใน 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 สำหรับการจัดการโครงการ

วิธีการทำงานของแอป Google Chat สำหรับการจัดการโปรเจ็กต์มีดังนี้

  1. ผู้ใช้ส่งข้อความใน Chat และเรียกใช้แอป Google Chat สำหรับการจัดการโปรเจ็กต์โดยส่งข้อความถึงแอปโดยตรง พูดถึงแอปในพื้นที่ทำงาน หรือป้อนคำสั่งเครื่องหมายทับ

  2. Chat จะส่งคำขอ HTTP แบบซิงค์ไปยังปลายทาง HTTP ของ Cloud Function

  3. แอป Google Chat สำหรับการจัดการโปรเจ็กต์จะดำเนินการตามคำขอ HTTP ดังนี้

    1. Vertex AI ช่วยเขียนหรืออัปเดตเรื่องราวของผู้ใช้

    2. ฐานข้อมูล Firestore จะจัดเก็บ เรียก อัปเดต หรือลบข้อมูลเรื่องราวของผู้ใช้

  4. Cloud Functions จะแสดงผลลัพธ์ HTTP ไปยัง Chat ซึ่งจะแสดงต่อผู้ใช้เป็นข้อความหรือกล่องโต้ตอบ

เตรียมสภาพแวดล้อม

ส่วนนี้จะแสดงวิธีสร้างและกําหนดค่าโปรเจ็กต์ Google Cloud สําหรับแอป Chat

สร้างโปรเจ็กต์ Google Cloud

คอนโซล Google Cloud

  1. ใน Google Cloud Console ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > สร้างโปรเจ็กต์

    ไปที่ "สร้างโปรเจ็กต์"

  2. ป้อนชื่อที่สื่อความหมายสำหรับโปรเจ็กต์ในช่องชื่อโปรเจ็กต์

    ไม่บังคับ: หากต้องการแก้ไขรหัสโปรเจ็กต์ ให้คลิกแก้ไข คุณจะเปลี่ยนรหัสโปรเจ็กต์ไม่ได้หลังจากสร้างโปรเจ็กต์แล้ว ดังนั้นโปรดเลือกรหัสที่ตรงกับความต้องการของคุณตลอดอายุการใช้งานของโปรเจ็กต์

  3. ในช่องสถานที่ ให้คลิกเรียกดูเพื่อแสดงสถานที่ที่เป็นไปได้สำหรับโปรเจ็กต์ จากนั้นคลิกเลือก
  4. คลิกสร้าง คอนโซล Google Cloud จะไปยังหน้าแดชบอร์ดและสร้างโปรเจ็กต์ภายในไม่กี่นาที

gcloud CLI

เข้าถึง Google Cloud CLI (gcloud) ในสภาพแวดล้อมการพัฒนาอย่างใดอย่างหนึ่งต่อไปนี้

  • Cloud Shell: หากต้องการใช้เทอร์มินัลออนไลน์ที่มีการตั้งค่า gcloud CLI ไว้แล้ว ให้เปิดใช้งาน Cloud Shell
    เปิดใช้งาน Cloud Shell
  • Local Shell: หากต้องการใช้สภาพแวดล้อมการพัฒนาภายใน ให้ติดตั้งและเริ่มต้น gcloud CLI
    หากต้องการสร้างโปรเจ็กต์ Cloud ให้ใช้คำสั่ง gcloud projects create ดังนี้
    gcloud projects create PROJECT_ID
    แทนที่ PROJECT_ID ด้วยการตั้งรหัสสำหรับโปรเจ็กต์ที่ต้องการสร้าง

เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์

คอนโซล Google Cloud

  1. ในคอนโซล Google Cloud ให้ไปที่การเรียกเก็บเงิน คลิกเมนู > การเรียกเก็บเงิน > โปรเจ็กต์ของฉัน

    ไปที่การเรียกเก็บเงินสำหรับโปรเจ็กต์

  2. ในส่วนเลือกองค์กร ให้เลือกองค์กรที่เชื่อมโยงกับโปรเจ็กต์ Google Cloud
  3. ในแถวโปรเจ็กต์ ให้เปิดเมนูการดำเนินการ () คลิกเปลี่ยนแปลงการเรียกเก็บเงิน แล้วเลือกบัญชีสำหรับการเรียกเก็บเงินใน Cloud
  4. คลิกตั้งค่าบัญชี

gcloud CLI

  1. หากต้องการแสดงรายการบัญชีสำหรับการเรียกเก็บเงินที่ใช้ได้ ให้เรียกใช้
    gcloud billing accounts list
  2. วิธีลิงก์บัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ Google Cloud
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    แทนที่ค่าต่อไปนี้

    • PROJECT_ID คือรหัสโปรเจ็กต์ของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณต้องการเปิดใช้การเรียกเก็บเงิน
    • 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 ในโปรเจ็กต์ Google Cloud ที่ถูกต้อง แล้วคลิกถัดไป

  3. ตรวจสอบว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้

gcloud CLI

  1. หากจำเป็น ให้ตั้งค่าโปรเจ็กต์ระบบคลาวด์ปัจจุบันเป็นโปรเจ็กต์ที่คุณสร้างด้วยคำสั่ง gcloud config set project ดังนี้

    gcloud config set project PROJECT_ID

    แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้าง

  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

    Cloud Build, Pub/Sub และ Cloud Run Admin API เป็นข้อกําหนดเบื้องต้นของ Cloud Functions

การตรวจสอบสิทธิ์และการให้สิทธิ์

คุณไม่จำเป็นต้องมีการกำหนดค่าการตรวจสอบสิทธิ์และการให้สิทธิ์เพื่อทําตามบทแนะนำนี้

หากต้องการเรียกใช้ Firestore และ Vertex AI API บทแนะนํานี้จะใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันกับบัญชีบริการเริ่มต้นที่แนบอยู่กับ Cloud Function ซึ่งคุณไม่จำเป็นต้องตั้งค่า ในบริบทของสภาพแวดล้อมที่ใช้งานจริง คุณมักจะสร้างและแนบบัญชีบริการกับ Cloud Function แทน

สร้างและติดตั้งใช้งานแอป Google Chat

เมื่อสร้างและกำหนดค่าโปรเจ็กต์ Google Cloud แล้ว คุณก็พร้อมที่จะสร้างและทำให้แอป Google Chat ใช้งานได้ ในส่วนนี้ คุณจะทำสิ่งต่อไปนี้

  1. สร้างฐานข้อมูล Firestore ที่ใช้เก็บและเรียกข้อมูลเรื่องราวของผู้ใช้
  2. ตรวจสอบโค้ดตัวอย่าง (ไม่บังคับ)
  3. สร้าง Cloud Function เพื่อโฮสต์และเรียกใช้โค้ดของแอป 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 โดยที่แต่ละเอกสารแสดงถึงพื้นที่ทำงานที่แอปแชทสร้างเรื่องราว เรื่องราวผู้ใช้แต่ละเรื่องจะแสดงด้วยเอกสารในคอลเล็กชันย่อย 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. จากเลือกโหมด Firestore ให้คลิกโหมดเนทีฟ

  4. คลิกต่อไป

  5. กำหนดค่าฐานข้อมูล

    1. ในตั้งชื่อฐานข้อมูล ให้ปล่อยรหัสฐานข้อมูลเป็น (default)

    2. ในประเภทตำแหน่ง ให้ระบุภูมิภาคสำหรับฐานข้อมูล เช่น us-central1 โปรดเลือกตำแหน่งเดียวกันหรือใกล้เคียงเป็น Cloud Function ของแอป Chat เพื่อประสิทธิภาพที่ดีที่สุด

  6. คลิกสร้างฐานข้อมูล

gcloud CLI

  • สร้างฐานข้อมูล Firestore ในโหมดเนทีฟด้วยคำสั่ง gcloud firestore databases create

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

    แทนที่ LOCATION ด้วยชื่อภูมิภาค Firestore เช่น us-central1

ตรวจสอบโค้ดตัวอย่าง

ก่อนสร้าง Cloud Function คุณอาจใช้เวลาสักครู่เพื่ออ่านและทำความเข้าใจโค้ดตัวอย่างที่โฮสต์ใน GitHub

ดูใน 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

  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 ให้ไปที่หน้า Cloud Functions โดยทำดังนี้

    ไปที่ Cloud Functions

    ตรวจสอบว่าได้เลือกโปรเจ็กต์ Google Cloud สำหรับแอป Chat

  5. คลิก สร้างฟังก์ชัน

  6. ในหน้าสร้างฟังก์ชัน ให้ตั้งค่าฟังก์ชันต่อไปนี้

    1. ในสภาพแวดล้อม ให้เลือกฟังก์ชัน Cloud Run
    2. ป้อน project-management-tutorial ในชื่อฟังก์ชัน
    3. ในภูมิภาค ให้เลือกภูมิภาค
    4. ในส่วนการตรวจสอบสิทธิ์ ให้เลือกอนุญาตการเรียกใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์
    5. คลิกถัดไป
  7. ในรันไทม์ ให้เลือก Node.js 20

  8. ใน Entry Point ให้ลบข้อความเริ่มต้นแล้วป้อน projectManagementChatApp

  9. ในซอร์สโค้ด ให้เลือกอัปโหลด Zip

  10. ในที่เก็บข้อมูลปลายทาง ให้สร้างหรือเลือกที่เก็บข้อมูล

    1. คลิกเลือกดู
    2. เลือกที่เก็บข้อมูล
    3. คลิกเลือก

    Google Cloud จะอัปโหลดไฟล์ ZIP และแตกไฟล์คอมโพเนนต์ในที่เก็บข้อมูลนี้ จากนั้น Cloud Functions จะคัดลอกไฟล์คอมโพเนนต์ไปยัง Cloud Function

  11. ในไฟล์ ZIP ให้อัปโหลดไฟล์ ZIP ที่ดาวน์โหลดจาก GitHub, แตกไฟล์ และบีบอัดอีกครั้ง

    1. คลิกเลือกดู
    2. ไปที่ไฟล์ ZIP แล้วเลือกไฟล์
    3. คลิกเปิด
  12. คลิกทำให้ใช้งานได้

    หน้ารายละเอียด Cloud Functions จะเปิดขึ้น และฟังก์ชันจะปรากฏขึ้นพร้อมตัวบ่งชี้ความคืบหน้า 2 รายการ ได้แก่ 1 รายการสำหรับบิลด์และอีก 1 รายการสำหรับบริการ เมื่อตัวบ่งชี้ความคืบหน้าทั้ง 2 รายการหายไปและมีเครื่องหมายถูกแสดงแทน แสดงว่าระบบได้ติดตั้งใช้งานฟังก์ชันแล้วและพร้อมใช้งาน

  13. แก้ไขโค้ดตัวอย่างเพื่อตั้งค่าค่าคงที่

    1. ในหน้ารายละเอียดฟังก์ชัน Cloud ให้คลิกแก้ไข
    2. คลิกถัดไป
    3. เลือกเครื่องมือแก้ไขในบรรทัดในซอร์สโค้ด
    4. เปิดไฟล์ env.js ในเครื่องมือแก้ไขในบรรทัด
    5. แทนที่ project-id ด้วยรหัสโปรเจ็กต์ Cloud ของคุณ
    6. ไม่บังคับ: อัปเดต us-central1 ด้วยตำแหน่งที่รองรับสำหรับ Cloud Function
  14. คลิกทำให้ใช้งานได้

  15. เมื่อฟังก์ชันการทำให้ใช้งานได้เสร็จสิ้นแล้ว ให้คัดลอก URL ของทริกเกอร์ดังนี้

    1. ในหน้ารายละเอียดฟังก์ชัน ให้คลิกทริกเกอร์
    2. คัดลอก URL คุณต้องใช้คีย์นี้เพื่อกำหนดค่าแอป Chat ในส่วนต่อไป

gcloud CLI

  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 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

  1. เมื่อทำให้ฟังก์ชันใช้งานได้เรียบร้อยแล้ว ให้คัดลอกพร็อพเพอร์ตี้ url จากการตอบกลับ นี่คือ URL ทริกเกอร์ที่คุณใช้ในส่วนต่อไปนี้เพื่อกำหนดค่าแอป Google Chat

กำหนดค่าแอป Google Chat ในคอนโซล Google Cloud

ส่วนนี้จะแสดงวิธีกำหนดค่า Chat API ในคอนโซล Google Cloud ด้วยข้อมูลเกี่ยวกับแอป Chat ซึ่งรวมถึงชื่อแอป Chat, คำสั่งเครื่องหมายทับที่รองรับ และ URL ทริกเกอร์ของ Cloud Function ของแอป 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. ในส่วนฟังก์ชันการทำงาน ให้เลือกรับข้อความแบบ 1:1 เข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม

  7. ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก URL ปลายทาง HTTP

  8. ใน URL ปลายทางของ HTTP ให้วาง URL ของทริกเกอร์ที่คัดลอกมาจากการติดตั้งใช้งาน Cloud Functions ซึ่งมีรูปแบบเป็น https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial หากคุณทำให้ Cloud Function ใช้งานได้ด้วย gcloud CLI นี่จะเป็นพร็อพเพอร์ตี้ url

  9. ลงทะเบียนคำสั่งเครื่องหมายทับของแอป Chat วิธีลงทะเบียนคำสั่งเครื่องหมายทับ

    1. คลิกเพิ่มคำสั่งเครื่องหมายทับในส่วนคำสั่งเครื่องหมายทับ
    2. สำหรับคำสั่งเครื่องหมายทับแต่ละคำสั่งตามรายละเอียดในตารางต่อไปนี้ ให้ป้อนชื่อ รหัสคำสั่ง คำอธิบาย และเลือกว่าคำสั่งเครื่องหมายทับ เปิดกล่องโต้ตอบ จากนั้นคลิกเสร็จสิ้น

      ชื่อ รหัสคำสั่ง คำอธิบาย เปิดกล่องโต้ตอบ
      /createUserStory 1 สร้างเรื่องราวที่มีชื่อที่ระบุ ไม่ได้เลือกไว้
      /myUserStories 2 แสดงเรื่องราวทั้งหมดที่มอบหมายให้กับผู้ใช้ ไม่ได้เลือกไว้
      /userStory 3 แสดงสถานะปัจจุบันของเรื่องราวที่ระบุ ไม่ได้เลือกไว้
      /manageUserStories 4 เปิดกล่องโต้ตอบที่แก้ไขเรื่องราวได้ เลือกแล้ว
      /cleanupUserStories 5 ลบเรื่องราวทั้งหมดในพื้นที่ทำงาน ไม่ได้เลือกไว้
  10. ในส่วนระดับการแชร์ ให้เลือก ทำให้แอป Chat นี้พร้อมใช้งานสำหรับผู้คนและกลุ่มที่ต้องการในโดเมน Workspace แล้วป้อนอีเมลของคุณ

  11. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดในการบันทึก

  12. คลิกบันทึก ข้อความ "การกําหนดค่าที่บันทึกไว้" จะปรากฏขึ้น ซึ่งหมายความว่าแอปแชทพร้อมที่จะทดสอบแล้ว

ทดสอบแอป Chat

ทดสอบแอป Chat สำหรับการจัดการโปรเจ็กต์โดยการส่งข้อความถึงแอปดังกล่าวและใช้คำสั่งเครื่องหมายทับเพื่อสร้าง แก้ไข และลบสตอรี่ผู้ใช้

  1. เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้

    ไปที่ Google Chat

  2. คลิก แชทใหม่
  3. ในช่องเพิ่มผู้คนอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป ของคุณ
  4. เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น

  5. ในข้อความส่วนตัวใหม่ที่มีแอป ให้พิมพ์ Hello แล้วกด enter แอป Chat สำหรับการจัดการโปรเจ็กต์จะแสดงเมนูความช่วยเหลือพร้อมรายละเอียดเกี่ยวกับสิ่งที่แอปทำได้
  6. หากต้องการสร้างเรื่องราว ให้พิมพ์ /createUserStory Test story ในแถบข้อความแล้วส่ง แอป Chat สำหรับการจัดการโปรเจ็กต์จะตอบกลับด้วยข้อความการ์ดที่แสดงรายละเอียดสตอรี่ผู้ใช้ที่สร้างขึ้นให้คุณโดยใช้ Generative AI จาก Vertex AI
  7. ในคอนโซล ให้ตรวจสอบฐานข้อมูล Firestore เพื่อดูระเบียนที่สร้างขึ้นเกี่ยวกับพื้นที่ทำงานที่คุณเพิ่มแอป Chat เข้าไป ผู้ใช้ที่โต้ตอบกับพื้นที่ทำงาน และเรื่องราวผู้ใช้ที่คุณสร้างขึ้น

    ไปที่ Firestore

  8. กลับไปที่ Google Chat

    ไปที่ Google Chat

  9. หากต้องการแก้ไขเรื่องราว (ไม่บังคับ) ให้คลิกแก้ไข เมื่อพอใจกับเรื่องราวแล้ว ให้คลิกบันทึก
  10. ทดสอบคำสั่งเครื่องหมายทับแต่ละรายการที่แอปรองรับ โดยพิมพ์ / หรือพูดถึงแอป Chat
  11. ลบ User Story ทดสอบโดยออกคำสั่ง /cleanupUserStories slash หรือ นำแอปออกหรือถอนการติดตั้งแอป เมื่อนำออกแล้ว แอปจะลบเรื่องราวผู้ใช้ทั้งหมดที่สร้างขึ้นในพื้นที่นั้น

แก้ปัญหา

เมื่อแอป Google Chat หรือการ์ดแสดงข้อผิดพลาด อินเทอร์เฟซของ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ไม่สามารถดำเนินการตามคำขอของคุณ" บางครั้ง UI ของ Chat ไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอป Chat หรือการ์ดให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ปรากฏ

แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat แต่ก็ยังมีข้อความแสดงข้อผิดพลาดและข้อมูลบันทึกที่สื่อความหมายเพื่อช่วยให้คุณแก้ไขข้อผิดพลาดเมื่อมีการเปิดใช้การบันทึกข้อผิดพลาดสำหรับแอป Chat ได้ หากต้องการความช่วยเหลือในการดู การแก้ไขข้อบกพร่อง และการแก้ไขข้อผิดพลาด โปรดดูแก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat

ล้างข้อมูล

เราขอแนะนำให้คุณลบโปรเจ็กต์ Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร

    ไปที่เครื่องมือจัดการทรัพยากร

  2. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
  3. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์