مدیریت پروژه‌ها با Google Chat،‏ Vertex AI، و Firestore

این آموزش نشان می‌دهد چگونه برنامه Google Chat بسازید که تیم بتواند از آن برای مدیریت هم‌زمان پروژه‌ها استفاده کند. برنامه Chat از Vertex AI برای کمک به تیم‌ها در نوشتن داستان‌های کاربر (که نشان‌دهنده ویژگی‌های یک سیستم نرم‌افزاری از دیدگاه کاربر برای توسعه تیم است) استفاده می‌کند و داستان‌ها را در پایگاه داده Firestore ماندگار می‌کند.

  • با نام بردن از برنامه مدیریت پروژه، برنامه ترغیب می‌شود که کمک ارائه دهد.
    شکل ۱. چارلی درباره توسعه ویژگی در فضای Chat با تیمش بحث می‌کند. نام بردن از برنامه Chat مدیریت پروژه باعث می‌شود برنامه Chat پیشنهاد کمک دهد.
  • استفاده از فرمان خط مورب /createUserStory برای ایجاد داستان.
    شکل ۲. بااستفاده از فرمان خط مورب /createUserStory، چارلی داستانی می‌سازد.
  • برنامه Chat مدیریت پروژه از Vertex AI برای نوشتن شرح داستان استفاده می‌کند.
    شکل ۳. برنامه Chat مدیریت پروژه از Vertex AI برای نوشتن شرح داستان استفاده می‌کند، سپس داستان را در فضا هم‌رسانی می‌کند.
  • چارلی جزئیات داستان را نهایی می‌کند.
    شکل ۴. چارلی روی ویرایش کلیک می‌کند تا جزئیات داستان را نهایی کند. شرح هوش مصنوعی دقیق است، اما چارلی جزئیات بیشتری می‌خواهد، بنابراین چارلی روی ازهم بازکردن کلیک می‌کند تا Vertex AI الزامات را به شرح داستان اضافه کند. چارلی داستان را به خود اختصاص می‌دهد، وضعیت را روی شروع‌شده تنظیم می‌کند، اولویت و اندازه مناسبی را انتخاب می‌کند، سپس روی ذخیره کلیک می‌کند.
  • مدیریت همه داستان‌های کاربر تیم.
    شکل ۵. هرزمان بخواهد، چارلی می‌تواند همه داستان‌های کاربر تیم را با /manageUserStories فرمان خط مورب
    ببیند و مدیریت کند.

پیش‌نیازها

اهداف

  • برنامه Chat بسازید که پروژه‌های نرم‌افزاری چابک را مدیریت کند.
  • با ابزارهای نوشتن داستان با کمک هوش مصنوعی زایا که با بهره‌گیری از هوش مصنوعی Vertex ارائه می‌شود، به کاربران کمک کنید داستان‌های کاربر بنویسند:
    • تولید و بازتولید شرح داستان.
    • توضیحات داستان را از یادداشت‌ها گسترش دهید تا الزامات را تکمیل کنید.
    • دستور زبان را تصحیح کنید تا غلط‌های املایی را اصلاح کنید.
  • با نوشتن در پایگاه داده Firestore و خواندن از آن، کار را به‌روز نگه دارید.
  • با اجازه دادن به کاربران برای ایجاد، ویرایش، واگذاری، و شروع داستان‌ها مستقیماً از مکالمه، مشارکت در فضای Chat را تسهیل کنید.

محصولات استفاده‌شده

برنامه مدیریت پروژه از محصولات Google Workspace و Google Cloud زیر استفاده می‌کند:

  • میانای برنامه‌سازی کاربردی Chat: میانای برنامه‌سازی کاربردی برای توسعه برنامه‌های Google Chat که رویدادهای تعامل Chat، مثل پیام‌ها، را دریافت و به آن‌ها پاسخ می‌دهند. برنامه مدیریت پروژه Google Chat از Chat API برای دریافت و پاسخ دادن به رویدادهای تعاملی که Chat ارسال می‌کند و برای پیکربندی مشخصه‌هایی که تعیین می‌کنند چگونه در Chat نشان داده شود (مثل نام و تصویر چهرک) استفاده می‌کند.
  • Vertex AI API: پلاتفرم هوش مصنوعی زایا. برنامه Google Chat در مدیریت پروژه از Vertex AI API برای نوشتن عنوان‌ها و شرح‌های داستان کاربر استفاده می‌کند.
  • Firestore: پایگاه داده سند بدون سرور. برنامه مدیریت پروژه برنامه Google Chat از Firebase برای ذخیره داده‌های مربوط به داستان‌های کاربر استفاده می‌کند.
  • توابع ابری: خدمات محاسباتی بدون سرور سبکی که به شما امکان می‌دهد توابع مستقل و تک‌منظوره‌ای ایجاد کنید که بتوانند به رویدادهای تعامل 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

برنامه مدیریت پروژه Google Chat به این صورت کار می‌کند:

  1. کاربری در Chat پیامی ارسال می‌کند و برنامه مدیریت پروژه Google Chat را با ارسال مستقیم پیام به آن، نام بردن از آن در فضا، یا وارد کردن فرمان خط مورب فرا می‌خواند.

  2. ‫Chat درخواست HTTP هم‌زمان به نقطه پایان HTTP «تابع ابری» ارسال می‌کند.

  3. برنامه مدیریت پروژه Google Chat درخواست HTTP را پردازش می‌کند:

    1. ‫Vertex AI به نوشتن یا به‌روزرسانی داستان کاربر کمک می‌کند.

    2. پایگاه داده Firestore داده‌های داستان کاربر را ذخیره، بازیابی، به‌روزرسانی، یا حذف می‌کند.

  4. «توابع ابری» پاسخ HTTP را به Chat برمی‌گرداند که آن را به‌صورت پیام یا کادر گفتگو به کاربر نمایش می‌دهد.

آماده کردن محیط

این بخش نحوه ایجاد و پیکربندی پروژه Google Cloud را برای برنامه Chat نشان می‌دهد.

ایجاد پروژه Google Cloud

Google API Console

  1. در «کنسول Google API»، به «منو» > IAM و سرپرست > ایجاد پروژه بروید.

    رفتن به «ایجاد پروژه»

  2. در فیلد نام پروژه، نامی توصیفی برای پروژه خود وارد کنید.

    اختیاری: برای ویرایش شناسه پروژه، روی ویرایش کلیک کنید. شناسه پروژه را نمی‌توان پس‌از ایجاد پروژه تغییر داد، بنابراین شناسه‌ای را انتخاب کنید که در طول عمر پروژه نیازهای شما را برآورده کند.

  3. در فیلد مکان، روی مرور کردن کلیک کنید تا مکان‌های بالقوه برای پروژه‌تان نمایش داده شود. سپس روی انتخاب کلیک کنید.
  4. روی ایجاد کردن کلیک کنید. «کنسول Google API» به صفحه «داشبورد» هدایت می‌شود و پروژه شما ظرف چند دقیقه ایجاد می‌شود.

gcloud CLI

در یکی از محیط‌های توسعه زیر، به Google Cloud CLI (gcloud) دسترسی پیدا کنید:

  • Cloud Shell: برای استفاده از ترمینال آنلاین با gcloud CLI که ازقبل راه‌اندازی شده است، Cloud Shell را فعال کنید.
    فعال کردن Cloud Shell
  • صدف محلی: برای استفاده از محیط توسعه محلی، «رابط خط فرمان gcloud» را نصب و مقداردهی اولیه کنید.
    برای ایجاد پروژه Cloud، از دستور gcloud projects create استفاده کنید:
    gcloud projects create PROJECT_ID
    با تنظیم شناسه برای پروژه‌ای که می‌خواهید ایجاد کنید، PROJECT_ID را جایگزین کنید.

فعال کردن صورت‌حساب برای پروژه Cloud

Google API Console

  1. در «کنسول Google API»، به صورت‌حساب بروید. روی منو > صورت‌حساب > پروژه‌های من کلیک کنید.

    رفتن به «صورت‌حساب برای پروژه‌های من»

  2. در انتخاب سازمان، سازمانی را که با پروژه Google Cloud شما منسوب است انتخاب کنید.
  3. در ردیف پروژه، منو کنش‌ها () را باز کنید، روی تغییر صورت‌حساب کلیک کنید، و حساب Cloud Billing را انتخاب کنید.
  4. روی تنظیم حساب کلیک کنید.

gcloud CLI

  1. برای فهرست کردن حساب‌های صورت‌حساب دردسترس، این دستور را اجرا کنید:
    gcloud billing accounts list
  2. پیوند دادن حساب صورت‌حساب با پروژه Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    جایگزین کردن موارد زیر:

    • ‫PROJECT_ID شناسه پروژه برای پروژه Cloud است که می‌خواهید صورت‌حساب را برای آن فعال کنید.
    • ‫BILLING_ACCOUNT_ID شناسه حساب صورت‌حساب برای پیوند دادن با پروژه Google Cloud است.

فعال کردن میاناهای برنامه‌سازی کاربردی

Google API Console

  1. در «کنسول Google API»، میانای برنامه‌سازی کاربردی Google Chat، میانای برنامه‌سازی کاربردی Vertex AI، میانای برنامه‌سازی کاربردی Cloud Functions، میانای برنامه‌سازی کاربردی Firestore، میانای برنامه‌سازی کاربردی Cloud Build، میانای برنامه‌سازی کاربردی Pub/Sub، و میانای برنامه‌سازی کاربردی Cloud Run Admin را فعال کنید.

    فعال کردن میاناهای برنامه‌سازی کاربردی

  2. تأیید کنید که میاناهای برنامه‌سازی کاربردی را در پروژه Cloud صحیح فعال می‌کنید، سپس روی بعدی کلیک کنید.

  3. تأیید کنید که درحال فعال کردن «میاناهای برنامه‌سازی کاربردی» صحیح هستید، سپس روی فعال کردن کلیک کنید.

gcloud CLI

  1. درصورت لزوم، پروژه Cloud کنونی را روی پروژه‌ای که با فرمان gcloud config set project ایجاد کرده‌اید تنظیم کنید:

    gcloud config set project PROJECT_ID

    PROJECT_ID را با شناسه پروژه پروژه Cloud که ایجاد کرده‌اید جایگزین کنید.

  2. میانای برنامه‌سازی کاربردی Google Chat، میانای برنامه‌سازی کاربردی Vertex AI، میانای برنامه‌سازی کاربردی Cloud Functions، میانای برنامه‌سازی کاربردی Firestore، میانای برنامه‌سازی کاربردی Cloud Build، میانای برنامه‌سازی کاربردی Pub/Sub، و میانای برنامه‌سازی کاربردی Cloud Run Admin را با فرمان 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 APIs پیش‌نیازهای Cloud Functions هستند.

اصالت‌سنجی و مجوز

برای دنبال کردن این آموزش، نیازی به پیکربندی اصالت‌سنجی و مجوز نیست.

برای فراخوانی کردن Firestore و Vertex AI APIs، این آموزش از اطلاعات اعتباری پیش‌فرض برنامه با حساب سرویس پیش‌فرض پیوست‌شده به Cloud Function استفاده می‌کند که نیازی به راه‌اندازی آن ندارید. در بافت محیط تولید، معمولاً به‌جای آن، حساب خدماتی را ایجاد و پیوست می‌کنید.

ایجاد و استقرار برنامه Google Chat

اکنون که پروژه Google Cloud شما ایجاد و پیکربندی شده است، آماده‌اید برنامه Google Chat را بسازید و مستقر کنید. در این بخش، کارهای زیر را انجام می‌دهید:

  1. پایگاه داده Firestore ایجاد کنید که در آن داستان‌های کاربر را ماندگار و بازیابی کنید.
  2. درصورت تمایل، کد نمونه را مرور کنید.
  3. «تابع Cloud» را برای میزبانی و اجرای کد برنامه 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 است، که در آن هر سند نشان‌دهنده فضایی است که برنامه Chat در آن داستان ایجاد کرده است. هر داستان کاربر با سندی در زیرمجموعه 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
نشانی وب میزبان تصویر چهرک کاربر Chat.
displayNameString
نام نمایشی Chat کاربر.

در اینجا نحوه ایجاد پایگاه داده Firestore آمده است:

Google API Console

  1. در «کنسول Google API»، به Firestore بروید. روی منو > Firestore کلیک کنید.

    رفتن به Firestore

  2. روی ایجاد پایگاه داده کلیک کنید.

  3. از انتخاب حالت Firestore، روی حالت بومی کلیک کنید.

  4. روی ادامه کلیک کنید.

  5. پیکربندی پایگاه داده:

    1. در نام‌گذاری پایگاه داده، شناسه پایگاه داده را روی (default) بگذارید.

    2. در نوع مکان، منطقه‌ای را برای پایگاه داده‌تان مشخص کنید، مثلاً us-central1. برای بهترین عملکرد، مکان یکسان یا نزدیکی را با «عملکرد ابری» برنامه 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
نقطه ورودی برای «تابع ابری» برنامه 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 را برای پیش‌بینی نوشتار هوش مصنوعی زایا فرا می‌خواند.
model/*.js
این فایل‌ها حاوی تعریف کلاس‌ها و شمارش‌هایی است که خدمات برنامه برای ذخیره و انتقال داده بین توابع استفاده می‌کنند. آن‌ها مدل داده را برای پایگاه داده Firestore تنظیم می‌کنند.
views/*.js
هر فایل در این دایرکتوری یک شی کارت را نمونه‌سازی می‌کند که برنامه Chat سپس آن را به‌عنوان پیام کارت یا پاسخ کنش گفتگویی به Chat برمی‌گرداند.
views/widgets/*.js
هر فایل نوعی از شیء ابزارک را نمونه‌سازی می‌کند که برنامه برای ساختن کارت‌ها در فهرست راهنمای views/ استفاده می‌کند.
test/**/*.test.js
هر فایل در این فهرست راهنما و فهرست‌های راهنمای فرعی آن حاوی آزمون‌های واحد برای تابع، کنترل‌کننده، سرویس، نما، یا ابزارک مربوطه است. با اجرای npm run test در دایرکتوری ریشه پروژه می‌توانید همه آزمایش‌های واحد را اجرا کنید.

ایجاد و مستقر کردن «تابع ابری»

در این بخش، یک Cloud Function ایجاد و مستقر می‌کنید که شامل منطق برنامه برنامه Chat مدیریت پروژه است.

«تابع ابری» در پاسخ به درخواست HTTP از Chat که حاوی رویداد تعامل Chat است اجرا می‌شود. وقتی کد Cloud Function اجرا می‌شود، رویداد را پردازش می‌کند و پاسخی به Chat برمی‌گرداند که Chat آن را به‌صورت پیام، چارگوش گفتگو، یا نوع دیگری از تعامل کاربر ارائه می‌کند. درصورت لزوم، Cloud Function از پایگاه داده Firestore می‌خواند یا در آن می‌نویسد.

در اینجا نحوه ایجاد «تابع ابری» آمده است:

Google API Console

  1. کد را از GitHub به‌صورت فایل zip بارگیری کنید.

    بارگیری فایل فشرده

  2. فایل zip بارگیری‌شده را استخراج کنید.

    پوشه استخراج‌شده حاوی کل مخزن نمونه‌های Google Workspace است.

  3. در پوشه استخراج‌شده، به add-ons-samples-main/node/chat/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 API»، به صفحه Cloud Functions بروید:

    رفتن به Cloud Functions

    مطمئن شوید که پروژه Google Cloud برای برنامه Chat شما انتخاب شده باشد.

  5. روی ایجاد تابع کلیک کنید.

  6. در صفحه ایجاد تابع، تابع خود را راه‌اندازی کنید:

    1. در محیط، تابع Cloud Run را انتخاب کنید.
    2. در نام تابع، project-management-tutorial را وارد کنید.
    3. در منطقه، منطقه‌ای را انتخاب کنید.
    4. در بخش اصالت‌سنجی، اجازه دادن به فراخوانی‌های اصالت‌سنجی‌نشده را انتخاب کنید.
    5. روی بعدی کلیک کنید.
  7. در زمان اجرا، Node.js 20 را انتخاب کنید.

  8. در نقطه ورودی، نوشتار پیش‌فرض را حذف کنید و projectManagementChatApp را وارد کنید.

  9. در کد منبع، بارگذاری فشرده را انتخاب کنید.

  10. در مخزن مقصد، مخزنی را ایجاد کنید یا انتخاب کنید:

    1. روی مرور کردن کلیک کنید.
    2. یک مخزن انتخاب کنید.
    3. روی انتخاب کلیک کنید.

    ‫Google Cloud فایل zip را در این باکت بارگذاری می‌کند و فایل‌های مؤلفه را استخراج می‌کند. سپس Cloud Functions فایل‌های عنصر را در Cloud Function کپی می‌کند.

  11. در فایل Zip، فایل zip را که از GitHub بارگیری کرده‌اید، استخراج کرده‌اید، و دوباره فشرده کرده‌اید بارگذاری کنید:

    1. روی مرور کردن کلیک کنید.
    2. به فایل zip پیمایش کنید و آن را انتخاب کنید.
    3. روی باز کردن کلیک کنید.
  12. روی استقرار کلیک کنید.

    صفحه جزئیات Cloud Functions باز می‌شود و تابع شما با دو نشانگر پیشرفت ظاهر می‌شود: یکی برای ساخت و دیگری برای سرویس. وقتی هر دو نشانگر پیشرفت ناپدید شدند و با علامت تیک جایگزین شدند، تابع شما مستقر و آماده است.

  13. کد نمونه را ویرایش کنید تا ثابت‌ها را تنظیم کنید:

    1. در صفحه جزئیات «کارکرد ابری»، روی ویرایش کلیک کنید.
    2. روی بعدی کلیک کنید.
    3. در کد منبع، ویرایشگر به‌خط را انتخاب کنید.
    4. در ویرایشگر درون‌خطی، فایل env.js را باز کنید.
    5. project-id را با شناسه پروژه Cloud خودتان جایگزین کنید.
    6. اختیاری: us-central1 را با مکان پشتیبانی‌شده برای «تابع ابری» خود به‌روز کنید.
  14. روی استقرار کلیک کنید.

  15. وقتی کارکرد استقرار تمام شد، نشانی وب راه‌انداز را کپی کنید:

    1. در صفحه جزئیات تابع، روی راه‌انداز کلیک کنید.
    2. نشانی وب را کپی کنید؛ برای پیکربندی کردن برنامه Chat در بخش زیر به آن نیاز دارید.

gcloud CLI

  1. کد را از GitHub شبیه‌سازی کنید:

    git clone https://github.com/googleworkspace/add-ons-samples.git
  2. به دایرکتوری حاوی کد برنامه Chat مدیریت این پروژه بروید:

    cd add-ons-samples/node/chat/project-management-app
  3. برای تنظیم متغیرهای محیطی، فایل env.js را ویرایش کنید:

    1. project-id را با شناسه پروژه Google Cloud خود جایگزین کنید.
    2. us-central1 را با مکان پروژه Google Cloud خود جایگزین کنید.
  4. «تابع ابری» را در Google Cloud مستقر کنید:

    gcloud functions deploy project-management-tutorial \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=projectManagementChatApp \
    --trigger-http \
    --allow-unauthenticated

    REGION را با مکان «تابع ابری» که زیرساخت آن میزبانی می‌شود، مثل us-central1، جایگزین کنید.

  1. وقتی کار استقرار تابع تمام شد، دارایی url را از پاسخ کپی کنید. این «نشانی وب راه‌انداز» است که در بخش زیر برای پیکربندی برنامه Google Chat استفاده می‌کنید.

پیکربندی برنامه Google Chat در «کنسول Google API»

این بخش نحوه پیکربندی Chat API در Google API Console را با اطلاعات مربوط به برنامه Chat شما نشان می‌دهد، ازجمله نام برنامه Chat، دستورات خط مورب پشتیبانی‌شده، و نشانی وب راه‌اندازی برنامه Chat در Cloud Function که رویدادهای تعامل Chat را به آن ارسال می‌کند.

  1. در «کنسول Google API»، روی منو > APIs و سرویس‌ها > APIs و سرویس‌های فعال > Google Chat API > پیکربندی کلیک کنید.

    رفتن به پیکربندی Chat API

  2. در نام برنامه، Project Manager را تایپ کنید.

  3. در نشانی وب چهرک، https://developers.google.com/chat/images/quickstart-app-avatar.png را تایپ کنید.

  4. در شرح، Manages projects with user stories. را تایپ کنید

  5. کلید فعال کردن ویژگی‌های تعاملی را به حالت روشن تغییر دهید.

  6. در بخش عملکرد، گزینه پیوستن به فضاها و مکالمه‌های گروهی را انتخاب کنید.

  7. در بخش تنظیمات اتصال، نشانی وب نقطه پایان HTTP را انتخاب کنید.

  8. ایمیل حساب سرویس را کپی کنید. وقتی برنامه Google Chat خود را برای فراخواندن تابع مجاز می‌کنید، به این ایمیل نیاز دارید.

  9. در بخش محرک‌ها، گزینه استفاده از نشانی وب نقطه پایان HTTP مشترک برای همه محرک‌ها را انتخاب کنید.

  10. در نشانی وب نقطه پایان HTTP، نشانی وب راه‌انداز Cloud Function را با قالب https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial جای‌گذاری کنید. اگر «تابع ابری» را با gcloud CLI مستقر کرده‌اید، این url دارایی است.

  11. فرمان‌های خط مورب برنامه Chat را ثبت کنید. برای ثبت کردن فرمان خط مورب:

    1. در بخش فرمان‌ها، روی افزودن فرمان کلیک کنید.
    2. برای هر فرمان که در جدول زیر به‌تفصیل آمده است، شناسه فرمان را وارد کنید، شرح را وارد کنید، در بخش نوع فرمان فرمان خط مورب را انتخاب کنید، نام فرمان خط مورب را وارد کنید، کادر گفتگو را انتخاب کنید، و سپس روی انجام شد کلیک کنید:

      شناسه فرمان شرح نام فرمان خط مورب کادر گفتگو
      1 داستانی با عنوان مشخص‌شده ایجاد کنید. /createUserStory لغو انتخاب شد
      2 همه داستان‌های اختصاص‌داده‌شده به کاربر را فهرست می‌کند. /myUserStories لغو انتخاب شد
      3 وضعیت فعلی داستان مشخص‌شده را نمایش می‌دهد. /userStory لغو انتخاب شد
      4 کادر گفتگویی را باز می‌کند که در آن می‌توان داستان‌ها را ویرایش کرد. /manageUserStories انتخاب شد
      5 همه داستان‌های فضا را حذف می‌کند. /cleanupUserStories لغو انتخاب شد
  12. در بخش رؤیت‌پذیری، این برنامه Google Chat را برای افراد و گروه‌های خاصی در دامنه Workspace شما دردسترس قرار دهید را انتخاب کنید و نشانی ایمیلتان را وارد کنید.

  13. درصورت تمایل، در بخش گزارش‌ها، گزینه خطاهای گزارش به «گزارش‌گیری» را انتخاب کنید.

  14. روی ذخیره کلیک کنید. پیام ذخیره شدن پیکربندی نشان داده می‌شود.

برنامه Chat آماده دریافت و پاسخ دادن به پیام‌ها در Chat است.

آزمایش کردن برنامه Chat

برنامه Chat مدیریت پروژه را با پیام دادن به آن و استفاده از فرمان‌های خط مورب آن برای ایجاد، ویرایش، و حذف داستان‌های کاربر آزمایش کنید.

  1. بااستفاده از حساب Google Workspace که هنگام اضافه کردن خودتان به‌عنوان آزمایش‌کننده معتمد ارائه کردید، Google Chat را باز کنید.

    رفتن به Google Chat

  2. روی گپ جدید کلیک کنید.
  3. در فیلد افزودن ۱ یا چند نفر، نام برنامه Chat خود را تایپ کنید.
  4. برنامه Chat را از نتایج انتخاب کنید. پیام مستقیمی باز می‌شود.

  5. در پیام مستقیم جدید با برنامه، Hello را تایپ کنید و enter را فشار دهید. برنامه «گپ» مدیریت پروژه با منو راهنمایی که جزئیات کارهایی را که می‌تواند انجام دهد ارائه می‌دهد پاسخ می‌دهد.
  6. برای ایجاد داستان، /createUserStory Test story را در نوار پیام تایپ کنید و آن را ارسال کنید. برنامه گپ مدیریت پروژه با پیام کارتی که جزئیات داستان کاربری را که بااستفاده از هوش مصنوعی زایا از Vertex AI برای شما ایجاد می‌کند ارائه می‌دهد پاسخ می‌دهد.
  7. در «کنسول API»، پایگاه داده Firestore را بررسی کنید تا سوابقی را که درباره فضایی که برنامه Chat را به آن اضافه کرده‌اید، کاربرانی که با آن تعامل داشته‌اند، و داستان کاربری که ایجاد کرده‌اید ایجاد کرده است مرور کنید.

    رفتن به Firestore

  8. به Google Chat برگردید.

    رفتن به Google Chat

  9. درصورت تمایل، برای ویرایش داستان، روی ویرایش کلیک کنید. وقتی از داستان راضی بودید، روی ذخیره کردن کلیک کنید.
  10. هر فرمان خط‌مشی پشتیبانی‌شده توسط برنامه را آزمایش کنید. برای دیدن آن‌ها، / را تایپ کنید یا از برنامه Chat نام ببرید.
  11. با صدور فرمان /cleanupUserStories خط مورب، داستان کاربر آزمایشی را حذف کنید. یا، برنامه را بردارید یا حذف نصب کنید. وقتی برنامه برداشته می‌شود، همه داستان‌های کاربری ایجادشده در آن فضا را حذف می‌کند.

عیب‌یابی

وقتی برنامه یا کارت Google Chat خطایی برمی‌گرداند، میانای Chat پیامی را نشان می‌دهد که می‌گوید «مشکلی پیش آمد». یا «نمی‌توانیم درخواستتان را پردازش کنیم.» گاهی‌اوقات «میانای کاربری Chat» هیچ پیام خطایی نمایش نمی‌دهد، اما برنامه Chat یا کارت نتیجه غیرمنتظره‌ای تولید می‌کند؛ برای مثال، ممکن است پیام کارت ظاهر نشود.

اگرچه ممکن است پیام خطا در واسط کاربر Chat نمایش داده نشود، پیام‌های خطای توصیفی و داده‌های گزارش برای کمک به شما در رفع خطاها وقتی گزارش خطا برای برنامه‌های Chat روشن باشد دردسترس است. برای دریافت راهنمایی درباره مشاهده، اشکال‌زدایی، و رفع خطاها، عیب‌یابی و رفع خطاهای Google Chat را ببینید.

مرتب‌سازی

برای اینکه هزینه منابع استفاده‌شده در این آموزش به حساب Google Cloud شما اضافه نشود، توصیه می‌کنیم پروژه Cloud را حذف کنید.

  1. در «کنسول Google API»، به صفحه مدیریت منابع بروید. روی منو > IAM و سرپرست > مدیریت منابع کلیک کنید.

    به «مدیر منابع» بروید

  2. در فهرست پروژه، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
  3. در چارگوش گفتگو، شناسه پروژه را تایپ کنید و سپس روی خاموش کردن کلیک کنید تا پروژه حذف شود.