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

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

  • ذکر برنامه مدیریت پروژه، برنامه را وادار به ارائه کمک می کند.
    شکل 1. چارلی درباره توسعه ویژگی در فضای چت با تیم خود بحث می کند. با ذکر برنامه Chat مدیریت پروژه، برنامه Chat به شما کمک می کند.
  • با استفاده از دستور اسلش /createUserStory برای ایجاد یک داستان.
    شکل 2. با استفاده از دستور اسلش /createUserStory ، چارلی یک داستان ایجاد می کند.
  • برنامه مدیریت پروژه Chat از Vertex AI برای نوشتن شرح داستان استفاده می کند.
    شکل 3. برنامه Chat مدیریت پروژه از Vertex AI برای نوشتن شرح داستان استفاده می کند، سپس داستان را در فضا به اشتراک می گذارد.
  • چارلی جزئیات داستان را نهایی می کند.
    شکل 4. چارلی روی Edit کلیک می کند تا جزئیات داستان نهایی شود. توضیحات هوش مصنوعی دقیق است، اما چارلی جزئیات بیشتری می‌خواهد، بنابراین چارلی روی Expand کلیک می‌کند تا Vertex AI الزاماتی را به شرح داستان اضافه کند. چارلی داستان را به خودش اختصاص می دهد، وضعیت را روی شروع تنظیم می کند، اولویت و اندازه مناسب را انتخاب می کند، سپس روی ذخیره کلیک می کند.
  • مدیریت تمام داستان های کاربران تیم.
    شکل 5. در هر زمان، چارلی می تواند تمام داستان های کاربران تیم را با دستور اسلش /manageUserStories ببیند و مدیریت کند.

پیش نیازها

اهداف

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

محصولات مورد استفاده

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

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

    Cloud Functions از محصولات Google Cloud زیر برای ساخت، پردازش رویدادهای تعامل و میزبانی منابع محاسباتی استفاده می‌کند:

    • Cloud Build : یک پلت فرم پیوسته یکپارچه، تحویل و استقرار کاملاً مدیریت شده که ساخت‌های خودکار را اجرا می‌کند.
    • Pub/Sub : یک سرویس پیام رسانی ناهمزمان و مقیاس پذیر که سرویس هایی را که پیام تولید می کنند از سرویس هایی که آن پیام ها را پردازش می کنند جدا می کند.
    • Cloud Run Admin API : یک محیط کاملاً مدیریت شده برای اجرای برنامه های کانتینری.

معماری

معماری برنامه Google Chat مدیریت پروژه، رویدادهای تعامل چت را در نقطه پایانی HTTP دریافت و پردازش می‌کند، از Vertex AI برای کمک به نوشتن داستان‌های کاربر استفاده می‌کند و جزئیات داستان کاربر را در پایگاه داده Firestore ذخیره می‌کند. نمودار زیر معماری استفاده از Google Workspace و Google Cloud را نشان می دهد.

نمودار معماری برای برنامه مدیریت پروژه Google Chat

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

  1. کاربر پیامی را در Chat ارسال می کند و برنامه مدیریت پروژه Google Chat را با ارسال مستقیم پیام، ذکر آن در یک فاصله یا وارد کردن یک دستور اسلش فراخوانی می کند.

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

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

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

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

  4. Cloud Functions یک پاسخ HTTP را به Chat برمی گرداند که آن را به عنوان پیام یا گفتگو به کاربر نمایش می دهد.

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

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

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

کنسول Google Cloud

  1. در کنسول Google Cloud، به منو > IAM & Admin > ایجاد پروژه بروید.

    به Create a Project بروید

  2. در قسمت Project Name یک نام توصیفی برای پروژه خود وارد کنید.

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

  3. در قسمت Location ، روی Browse کلیک کنید تا مکان های احتمالی پروژه شما نمایش داده شود. سپس، روی انتخاب کلیک کنید.
  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 جایگزین کنید.

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

کنسول Google Cloud

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

    به Billing for My Projects بروید

  2. در انتخاب سازمان ، سازمان مرتبط با پروژه Google Cloud خود را انتخاب کنید.
  3. در ردیف پروژه، منوی Actions ( ) را باز کنید، روی Change billing کلیک کنید و حساب 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 است.

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ها را در پروژه Cloud صحیح فعال می‌کنید، سپس روی Next کلیک کنید.

  3. تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.

gcloud CLI

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

    gcloud config set project PROJECT_ID
    

    PROJECT_ID با Project ID پروژه Cloud که ایجاد کردید جایگزین کنید.

  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
    

    APIهای Cloud Build، Pub/Sub و Cloud Run Admin پیش نیازهای Cloud Functions هستند.

احراز هویت و مجوز

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

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

برنامه 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

فضاهایی که برنامه چت در آن داستان‌هایی ایجاد کرد.

فیلدها
Document ID String
شناسه منحصر به فرد یک فضای خاص که در آن داستان ها ایجاد می شوند. با نام منبع فضا در Chat API مطابقت دارد.
userStories Subcollection of Documents ( userStories )
داستان های ایجاد شده توسط برنامه چت و کاربران آن. با Document ID یک userStories در Firebase مطابقت دارد.
users Subcollection of Documents ( user )
کاربرانی که داستان ها را ایجاد کرده اند یا به آنها اختصاص داده شده است.
displayName String
نام نمایشی فضای موجود در Chat API. برای پیام های مستقیم با کاربران تنظیم نشده است.

userStories

داستان های ایجاد شده توسط برنامه چت و کاربران آن.

فیلدها
Document ID String
شناسه منحصر به فرد یک داستان کاربر خاص که توسط برنامه چت و کاربران آن ایجاد شده است.
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
نشانی اینترنتی میزبان تصویر چهره‌نمای چت کاربر.
displayName String
نام نمایشی چت کاربر.

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

کنسول Google Cloud

  1. در کنسول Google Cloud، به Firestore بروید. > Firestore کلیک کنید.

    به Firestore بروید

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

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

  4. روی Continue کلیک کنید.

  5. دیتابیس را پیکربندی کنید:

    1. در Name your database ، شناسه پایگاه داده را به عنوان (default) بگذارید.

    2. در نوع مکان ، یک منطقه برای پایگاه داده خود مشخص کنید، مانند us-central1 . برای بهترین عملکرد، مکان مشابه یا نزدیک را به عنوان عملکرد ابری برنامه چت انتخاب کنید.

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

gcloud CLI

  • یک پایگاه داده Firestore در حالت Native با دستور gcloud firestore databases create ایجاد کنید:

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

    LOCATION با نام یک منطقه Firestore ، مانند us-central1 جایگزین کنید.

کد نمونه را مرور کنید

در صورت تمایل، قبل از ایجاد عملکرد ابری، لحظه ای را به مرور و آشنایی با کد نمونه ای که در GitHub میزبانی شده است اختصاص دهید.

در GitHub مشاهده کنید

در اینجا یک نمای کلی از هر فایل آورده شده است:

env.js
متغیرهای پیکربندی محیط برای استقرار برنامه Chat در پروژه و منطقه Google Cloud مشخص. شما باید متغیرهای پیکربندی را در این فایل به روز کنید.
package.json و package-lock.json
تنظیمات و وابستگی های پروژه Node.js.
index.js
نقطه ورود برای برنامه Chat Cloud Function. رویداد Chat را از درخواست HTTP می خواند، کنترل کننده برنامه را فرا می خواند و پاسخ HTTP را به عنوان یک شی JSON پست می کند.
controllers/app.js
منطق برنامه اصلی رویدادهای تعامل را با استفاده از دستورات اشاره و اسلش برنامه چت پردازش می کند. برای پاسخ به کلیک‌های کارت، app-action-handler.js را فراخوانی می‌کند.
controllers/app-action-handler.js
منطق برنامه برای رسیدگی به رویدادهای تعامل با کارت کلیک کنید.
services/space-service.js ، services/user-service.js و services/user-story-service.js
این فایل‌ها شامل بخش‌هایی از منطق برنامه است که مخصوص کار با فضاهای چت، کاربران و داستان‌های کاربر است. توابع موجود در این فایل ها توسط 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 را برای پیش‌بینی متن مولد هوش مصنوعی فراخوانی می‌کند.
model/*.js
این فایل ها حاوی تعریف کلاس ها و فهرست هایی هستند که سرویس های برنامه از آنها برای ذخیره و ارسال داده ها بین توابع استفاده می کنند. آنها مدل داده را برای پایگاه داده Firestore تنظیم کردند.
views/*.js
هر فایل در این فهرست یک شی کارت را نشان می دهد که برنامه Chat سپس به عنوان یک پیام کارت یا یک پاسخ اقدام گفتگو به Chat ارسال می کند.
views/widgets/*.js
هر فایل یک نوع شیء ویجت را نشان می‌دهد که برنامه از آن برای ساخت کارت‌ها در فهرست views/ دایرکتوری استفاده می‌کند.
test/**/*.test.js
هر فایل در این دایرکتوری و زیرشاخه‌های آن شامل تست‌های واحد برای عملکرد، کنترل‌کننده، سرویس، نمای یا ویجت مربوطه است. شما می توانید تمام تست های واحد را با اجرای npm run test در حالی که در دایرکتوری ریشه پروژه هستید اجرا کنید.

ایجاد و استقرار تابع Cloud

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

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

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

کنسول Google Cloud

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

    فایل فشرده را دانلود کنید

  2. فایل فشرده دانلود شده را اکسترکت کنید.

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

  3. در پوشه استخراج شده، به google-chat-samples-main/node/project-management-app/ بروید، سپس پوشه project-management-app را در یک فایل فشرده فشرده کنید.

    دایرکتوری اصلی فایل فشرده باید حاوی فایل ها و پوشه های زیر باشد:

    • 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 برای برنامه چت شما انتخاب شده است.

  5. روی Create Function کلیک کنید.

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

    1. در Environment ، 2nd gen را انتخاب کنید.
    2. در Function name ، project-management-tutorial را وارد کنید.
    3. در منطقه ، یک منطقه را انتخاب کنید.
    4. در زیر احراز هویت ، اجازه دادن به فراخوان های احراز هویت نشده را انتخاب کنید.
    5. روی Next کلیک کنید.
  7. در Runtime ، Node.js 20 را انتخاب کنید.

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

  9. در کد منبع ، آپلود فشرده را انتخاب کنید.

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

    1. روی Browse کلیک کنید.
    2. یک سطل انتخاب کنید.
    3. روی انتخاب کلیک کنید.

    Google Cloud فایل فشرده را در این سطل آپلود می کند و فایل های جزء را استخراج می کند. Cloud Functions سپس فایل های جزء را در Cloud Function کپی می کند.

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

    1. روی Browse کلیک کنید.
    2. به فایل فشرده بروید و آن را انتخاب کنید.
    3. روی Open کلیک کنید.
  12. روی Deploy کلیک کنید.

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

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

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

  15. هنگامی که عملکرد به پایان رسید، URL ماشه را کپی کنید:

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

gcloud CLI

  1. کد را از GitHub کلون کنید:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. به دایرکتوری که کد این برنامه چت مدیریت پروژه را در خود دارد بروید:

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

    1. شناسه پروژه Google Cloud خود را جایگزین project-id کنید.
    2. محل پروژه Google Cloud خود را جایگزین us-central1 کنید.
  4. استقرار تابع Cloud در 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 را از پاسخ کپی کنید. این نشانی اینترنتی راه‌اندازی است که در بخش زیر برای پیکربندی برنامه Google Chat استفاده می‌کنید.

برنامه Google Chat را در کنسول Google Cloud پیکربندی کنید

این بخش نحوه پیکربندی Chat API را در کنسول Google Cloud با اطلاعات مربوط به برنامه Chat، از جمله نام برنامه Chat، دستورات اسلش پشتیبانی‌شده، و URL راه‌انداز عملکرد Cloud برنامه 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. در نشانی اینترنتی نقطه پایانی HTTP ، نشانی اینترنتی راه‌اندازی را که از استقرار توابع ابر کپی کرده‌اید، با قالب‌بندی https:// REGION - PROJECT_ID .cloudfunctions.net/project-management-tutorial ، جای‌گذاری کنید. اگر تابع Cloud را با gcloud CLI مستقر کرده اید، این ویژگی url است.

  9. دستورات اسلش برنامه چت را ثبت کنید. برای ثبت دستور اسلش:

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

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

  11. به صورت اختیاری، در زیر Logs ، Log errors to Logging را انتخاب کنید.

  12. روی ذخیره کلیک کنید. یک پیام ذخیره شده پیکربندی ظاهر می شود، به این معنی که برنامه Chat برای آزمایش آماده است.

برنامه چت را تست کنید

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

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

    به Google Chat بروید

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

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

    به Firestore بروید

  8. به چت گوگل بازگردید.

    به Google Chat بروید

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

عیب یابی

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

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

پاک کن

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

  1. در کنسول Google Cloud، به صفحه مدیریت منابع بروید. > IAM & Admin > Manage Resources کلیک کنید.

    به Resource Manager بروید

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

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

  • ذکر برنامه مدیریت پروژه، برنامه را وادار به ارائه کمک می کند.
    شکل 1. چارلی درباره توسعه ویژگی در فضای چت با تیم خود بحث می کند. با ذکر برنامه Chat مدیریت پروژه، برنامه Chat به شما کمک می کند.
  • با استفاده از دستور اسلش /createUserStory برای ایجاد یک داستان.
    شکل 2. با استفاده از دستور اسلش /createUserStory ، چارلی یک داستان ایجاد می کند.
  • برنامه مدیریت پروژه Chat از Vertex AI برای نوشتن شرح داستان استفاده می کند.
    شکل 3. برنامه Chat مدیریت پروژه از Vertex AI برای نوشتن شرح داستان استفاده می کند، سپس داستان را در فضا به اشتراک می گذارد.
  • چارلی جزئیات داستان را نهایی می کند.
    شکل 4. چارلی روی Edit کلیک می کند تا جزئیات داستان نهایی شود. توضیحات هوش مصنوعی دقیق است، اما چارلی جزئیات بیشتری می‌خواهد، بنابراین چارلی روی Expand کلیک می‌کند تا Vertex AI الزاماتی را به شرح داستان اضافه کند. چارلی داستان را به خودش اختصاص می دهد، وضعیت را روی شروع تنظیم می کند، اولویت و اندازه مناسب را انتخاب می کند، سپس روی ذخیره کلیک می کند.
  • مدیریت تمام داستان های کاربران تیم.
    شکل 5. در هر زمان، چارلی می تواند تمام داستان های کاربران تیم را با دستور اسلش /manageUserStories ببیند و مدیریت کند.

پیش نیازها

اهداف

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

محصولات مورد استفاده

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

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

    Cloud Functions از محصولات Google Cloud زیر برای ساخت، پردازش رویدادهای تعامل و میزبانی منابع محاسباتی استفاده می‌کند:

    • Cloud Build : یک پلت فرم پیوسته یکپارچه، تحویل و استقرار کاملاً مدیریت شده که ساخت‌های خودکار را اجرا می‌کند.
    • Pub/Sub : یک سرویس پیام رسانی ناهمزمان و مقیاس پذیر که سرویس هایی را که پیام تولید می کنند از سرویس هایی که آن پیام ها را پردازش می کنند جدا می کند.
    • Cloud Run Admin API : یک محیط کاملاً مدیریت شده برای اجرای برنامه های کانتینری.

معماری

معماری برنامه Google Chat مدیریت پروژه، رویدادهای تعامل چت را در نقطه پایانی HTTP دریافت و پردازش می‌کند، از Vertex AI برای کمک به نوشتن داستان‌های کاربر استفاده می‌کند و جزئیات داستان کاربر را در پایگاه داده Firestore ذخیره می‌کند. نمودار زیر معماری استفاده از Google Workspace و Google Cloud را نشان می دهد.

نمودار معماری برای برنامه مدیریت پروژه Google Chat

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

  1. کاربر پیامی را در Chat ارسال می کند و برنامه مدیریت پروژه Google Chat را با ارسال مستقیم پیام، ذکر آن در یک فاصله یا وارد کردن یک دستور اسلش فراخوانی می کند.

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

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

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

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

  4. Cloud Functions یک پاسخ HTTP را به Chat برمی گرداند که آن را به عنوان پیام یا گفتگو به کاربر نمایش می دهد.

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

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

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

کنسول Google Cloud

  1. در کنسول Google Cloud، به منو > IAM & Admin > ایجاد پروژه بروید.

    به Create a Project بروید

  2. در قسمت Project Name یک نام توصیفی برای پروژه خود وارد کنید.

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

  3. در قسمت Location ، روی Browse کلیک کنید تا مکان های احتمالی پروژه شما نمایش داده شود. سپس، روی انتخاب کلیک کنید.
  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 جایگزین کنید.

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

کنسول Google Cloud

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

    به Billing for My Projects بروید

  2. در انتخاب سازمان ، سازمان مرتبط با پروژه Google Cloud خود را انتخاب کنید.
  3. در ردیف پروژه، منوی Actions ( ) را باز کنید، روی Change billing کلیک کنید و حساب 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 است.

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ها را در پروژه Cloud صحیح فعال می‌کنید، سپس روی Next کلیک کنید.

  3. تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.

gcloud CLI

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

    gcloud config set project PROJECT_ID
    

    PROJECT_ID با Project ID پروژه Cloud که ایجاد کردید جایگزین کنید.

  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
    

    APIهای Cloud Build، Pub/Sub و Cloud Run Admin پیش نیازهای Cloud Functions هستند.

احراز هویت و مجوز

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

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

برنامه 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

فضاهایی که برنامه چت در آن داستان‌هایی ایجاد کرد.

فیلدها
Document ID String
شناسه منحصر به فرد یک فضای خاص که در آن داستان ها ایجاد می شوند. با نام منبع فضا در Chat API مطابقت دارد.
userStories Subcollection of Documents ( userStories )
داستان های ایجاد شده توسط برنامه چت و کاربران آن. با Document ID یک userStories در Firebase مطابقت دارد.
users Subcollection of Documents ( user )
کاربرانی که داستان ها را ایجاد کرده اند یا به آنها اختصاص داده شده است.
displayName String
نام نمایشی فضای موجود در Chat API. برای پیام های مستقیم با کاربران تنظیم نشده است.

userStories

داستان های ایجاد شده توسط برنامه چت و کاربران آن.

فیلدها
Document ID String
شناسه منحصر به فرد یک داستان کاربر خاص که توسط برنامه چت و کاربران آن ایجاد شده است.
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
نشانی اینترنتی میزبان تصویر چهره‌نمای چت کاربر.
displayName String
نام نمایشی چت کاربر.

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

کنسول Google Cloud

  1. در کنسول Google Cloud، به Firestore بروید. > Firestore کلیک کنید.

    به Firestore بروید

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

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

  4. روی Continue کلیک کنید.

  5. دیتابیس را پیکربندی کنید:

    1. در Name your database ، شناسه پایگاه داده را به عنوان (default) بگذارید.

    2. در نوع مکان ، یک منطقه برای پایگاه داده خود مشخص کنید، مانند us-central1 . برای بهترین عملکرد، مکان مشابه یا نزدیک را به عنوان عملکرد ابری برنامه چت انتخاب کنید.

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

gcloud CLI

  • یک پایگاه داده Firestore در حالت Native با دستور gcloud firestore databases create ایجاد کنید:

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

    LOCATION با نام یک منطقه Firestore ، مانند us-central1 جایگزین کنید.

کد نمونه را مرور کنید

در صورت تمایل، قبل از ایجاد عملکرد ابری، لحظه ای را به مرور و آشنایی با کد نمونه ای که در GitHub میزبانی شده است اختصاص دهید.

در GitHub مشاهده کنید

در اینجا یک نمای کلی از هر فایل آورده شده است:

env.js
متغیرهای پیکربندی محیط برای استقرار برنامه Chat در پروژه و منطقه Google Cloud مشخص. شما باید متغیرهای پیکربندی را در این فایل به روز کنید.
package.json و package-lock.json
تنظیمات و وابستگی های پروژه Node.js.
index.js
نقطه ورود برای برنامه Chat Cloud Function. رویداد Chat را از درخواست HTTP می خواند، کنترل کننده برنامه را فرا می خواند و پاسخ HTTP را به عنوان یک شی JSON پست می کند.
controllers/app.js
منطق برنامه اصلی رویدادهای تعامل را با استفاده از دستورات اشاره و اسلش برنامه چت پردازش می کند. برای پاسخ به کلیک‌های کارت، app-action-handler.js را فراخوانی می‌کند.
controllers/app-action-handler.js
منطق برنامه برای رسیدگی به رویدادهای تعامل با کارت کلیک کنید.
services/space-service.js ، services/user-service.js و services/user-story-service.js
این فایل‌ها شامل بخش‌هایی از منطق برنامه است که مخصوص کار با فضاهای چت، کاربران و داستان‌های کاربر است. توابع موجود در این فایل ها توسط 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 را برای پیش‌بینی متن مولد هوش مصنوعی فراخوانی می‌کند.
model/*.js
این فایل ها حاوی تعریف کلاس ها و فهرست هایی هستند که سرویس های برنامه از آنها برای ذخیره و ارسال داده ها بین توابع استفاده می کنند. آنها مدل داده را برای پایگاه داده Firestore تنظیم کردند.
views/*.js
هر فایل در این فهرست یک شی کارت را نشان می دهد که برنامه Chat سپس به عنوان یک پیام کارت یا یک پاسخ اقدام گفتگو به Chat ارسال می کند.
views/widgets/*.js
هر فایل یک نوع شیء ویجت را نشان می‌دهد که برنامه از آن برای ساخت کارت‌ها در فهرست views/ دایرکتوری استفاده می‌کند.
test/**/*.test.js
هر فایل در این دایرکتوری و زیرشاخه‌های آن شامل تست‌های واحد برای عملکرد، کنترل‌کننده، سرویس، نمای یا ویجت مربوطه است. شما می توانید تمام تست های واحد را با اجرای npm run test در حالی که در دایرکتوری ریشه پروژه هستید اجرا کنید.

ایجاد و استقرار تابع Cloud

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

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

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

کنسول Google Cloud

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

    فایل فشرده را دانلود کنید

  2. فایل فشرده دانلود شده را اکسترکت کنید.

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

  3. در پوشه استخراج شده، به google-chat-samples-main/node/project-management-app/ بروید، سپس پوشه project-management-app را در یک فایل فشرده فشرده کنید.

    دایرکتوری اصلی فایل فشرده باید حاوی فایل ها و پوشه های زیر باشد:

    • 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 برای برنامه چت شما انتخاب شده است.

  5. روی Create Function کلیک کنید.

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

    1. در Environment ، 2nd gen را انتخاب کنید.
    2. در Function name ، project-management-tutorial را وارد کنید.
    3. در منطقه ، یک منطقه را انتخاب کنید.
    4. در زیر احراز هویت ، اجازه دادن به فراخوان های احراز هویت نشده را انتخاب کنید.
    5. روی Next کلیک کنید.
  7. در Runtime ، Node.js 20 را انتخاب کنید.

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

  9. در کد منبع ، آپلود فشرده را انتخاب کنید.

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

    1. روی Browse کلیک کنید.
    2. یک سطل انتخاب کنید.
    3. روی انتخاب کلیک کنید.

    Google Cloud فایل فشرده را در این سطل آپلود می کند و فایل های جزء را استخراج می کند. Cloud Functions سپس فایل های جزء را در Cloud Function کپی می کند.

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

    1. روی Browse کلیک کنید.
    2. به فایل فشرده بروید و آن را انتخاب کنید.
    3. روی Open کلیک کنید.
  12. روی Deploy کلیک کنید.

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

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

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

  15. هنگامی که عملکرد به پایان رسید، URL ماشه را کپی کنید:

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

gcloud CLI

  1. کد را از GitHub کلون کنید:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. به دایرکتوری که کد این برنامه چت مدیریت پروژه را در خود دارد بروید:

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

    1. شناسه پروژه Google Cloud خود را جایگزین project-id کنید.
    2. محل پروژه Google Cloud خود را جایگزین us-central1 کنید.
  4. استقرار تابع Cloud در 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 را از پاسخ کپی کنید. این نشانی اینترنتی راه‌اندازی است که در بخش زیر برای پیکربندی برنامه Google Chat استفاده می‌کنید.

برنامه Google Chat را در کنسول Google Cloud پیکربندی کنید

این بخش نحوه پیکربندی Chat API را در کنسول Google Cloud با اطلاعات مربوط به برنامه Chat، از جمله نام برنامه Chat، دستورات اسلش پشتیبانی‌شده، و URL راه‌انداز عملکرد Cloud برنامه 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. در نشانی اینترنتی نقطه پایانی HTTP ، نشانی اینترنتی راه‌اندازی را که از استقرار توابع ابر کپی کرده‌اید، با قالب‌بندی https:// REGION - PROJECT_ID .cloudfunctions.net/project-management-tutorial ، جای‌گذاری کنید. اگر تابع Cloud را با gcloud CLI مستقر کرده اید، این ویژگی url است.

  9. دستورات اسلش برنامه چت را ثبت کنید. برای ثبت دستور اسلش:

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

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

  11. به صورت اختیاری، در زیر Logs ، Log errors to Logging را انتخاب کنید.

  12. روی ذخیره کلیک کنید. یک پیام ذخیره شده پیکربندی ظاهر می شود، به این معنی که برنامه Chat برای آزمایش آماده است.

برنامه چت را تست کنید

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

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

    به Google Chat بروید

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

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

    به Firestore بروید

  8. به چت گوگل بازگردید.

    به Google Chat بروید

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

عیب یابی

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

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

پاک کن

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

  1. در کنسول Google Cloud، به صفحه مدیریت منابع بروید. > IAM & Admin > Manage Resources کلیک کنید.

    به Resource Manager بروید

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