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

این آموزش نحوه ساخت یک برنامه گوگل چت را نشان می‌دهد که یک تیم می‌تواند از آن برای مدیریت پروژه‌ها در زمان واقعی استفاده کند. برنامه چت از هوش مصنوعی ورتکس برای کمک به تیم‌ها در نوشتن داستان‌های کاربر (که نشان‌دهنده ویژگی‌های یک سیستم نرم‌افزاری از دیدگاه کاربر برای توسعه تیم است) استفاده می‌کند و داستان‌ها را در یک پایگاه داده Firestore ذخیره می‌کند.

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

پیش‌نیازها

اهداف

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

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

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

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

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

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

معماری

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

نمودار معماری برای مدیریت پروژه برنامه گوگل چت

برنامه مدیریت پروژه گوگل چت به این صورت کار می‌کند:

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

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

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

    1. هوش مصنوعی ورتکس به نوشتن یا به‌روزرسانی داستان کاربر کمک می‌کند.

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

  4. توابع ابری یک پاسخ HTTP به چت برمی‌گردانند که آن را به صورت یک پیام یا کادر محاوره‌ای به کاربر نمایش می‌دهد.

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

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

ایجاد یک پروژه گوگل کلود

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > IAM & Admin > Create a Project بروید.

    به ایجاد پروژه بروید

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

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

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

رابط خط فرمان جی‌کلاود

در یکی از محیط‌های توسعه زیر، به رابط خط فرمان گوگل کلود ( gcloud ) دسترسی پیدا کنید:

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

فعال کردن پرداخت برای پروژه ابری

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به بخش صورتحساب (Billing) بروید. ) > صورتحساب (Billing) > پروژه‌های من (My Projects) کلیک کنید.

    به بخش پرداخت هزینه‌های پروژه‌های من بروید

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

رابط خط فرمان جی‌کلاود

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

کنسول گوگل کلود

  1. در کنسول گوگل کلود، APIهای Google Chat، 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 های صحیح را فعال می‌کنید، سپس روی فعال کردن کلیک کنید.

رابط خط فرمان جی‌کلاود

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

    gcloud config set project PROJECT_ID

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

  2. با استفاده از دستور gcloud services enable ، می‌توانید APIهای Google Chat، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API و Cloud Run Admin API را فعال کنید:

    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های Firestore و Vertex AI، این آموزش از Application Default Credentials با حساب سرویس پیش‌فرض متصل به Cloud Function استفاده می‌کند که نیازی به تنظیم آن ندارید. در زمینه یک محیط عملیاتی، معمولاً به جای آن، یک حساب سرویس ایجاد و به Cloud Function متصل می‌کنید.

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

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

  1. یک پایگاه داده Firestore ایجاد کنید که در آن بتوانید داستان‌های کاربر را ذخیره و بازیابی کنید.
  2. در صورت تمایل، کد نمونه را بررسی کنید.
  3. یک تابع ابری ایجاد کنید تا کد برنامه چت را در پاسخ به رویدادهای دریافتی از چت به عنوان درخواست HTTP میزبانی و اجرا کند.
  4. یک برنامه Google Chat در صفحه پیکربندی Google Chat API ایجاد و مستقر کنید.

ایجاد پایگاه داده Firestore

در این بخش، شما یک پایگاه داده Firestore برای ذخیره و بازیابی داستان‌های کاربر ایجاد می‌کنید، اما مدل داده را تعریف نمی‌کنید. مدل داده به طور ضمنی در کد نمونه توسط فایل‌های model/user-story.js و model/user.js تنظیم می‌شود.

پایگاه داده برنامه چت مدیریت پروژه از یک مدل داده NoSQL مبتنی بر اسناد که در مجموعه‌های سازماندهی شده‌اند، استفاده می‌کند. برای کسب اطلاعات بیشتر، به مدل داده Firestore مراجعه کنید.

نمودار زیر نمای کلی از مدل داده برنامه مدیریت پروژه گوگل چت را نشان می‌دهد:

مدل داده پایگاه داده Firestore.

مجموعه ریشه، spaces است که در آن هر سند نشان‌دهنده فضایی است که برنامه چت داستان‌ها را در آن ایجاد کرده است. هر داستان کاربر توسط یک سند در زیرمجموعه userStories نمایش داده می‌شود و هر کاربر توسط یک سند در زیرمجموعه users نمایش داده می‌شود.

مشاهده تعاریف مجموعه، سند و فیلد

spaces

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

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

userStories

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

فیلدها
Document ID String
شناسه منحصر به فرد یک داستان کاربری خاص که توسط برنامه چت و کاربران آن ایجاد شده است.
assignee Document ( user )
نام منبعی که برای تکمیل داستان به کاربر اختصاص داده شده است. با Document ID users و با نام منبع کاربر در API چت مطابقت دارد.
description String
شرح ویژگی‌های نرم‌افزار از دیدگاه کاربر.
priority Enum
میزان فوریتی که باید برای تکمیل کار در نظر گرفته شود. مقادیر ممکن عبارتند از Low ، Medium ​​یا High .
size Enum
میزان کار. مقادیر ممکن Small (Small)، Medium ) یا Large هستند.
status Enum
مرحله کار. مقادیر ممکن عبارتند از: OPENSTARTED ) یا COMPLETED ).
title String
عنوان داستان؛ خلاصه‌ای کوتاه.

users

کاربرانی که داستان ایجاد کرده‌اند یا به آنها داستان اختصاص داده شده است.

فیلدها
Document ID String
شناسه منحصر به فرد یک کاربر خاص. در Firebase با نام منبع userStories در Chat API مطابقت assignee .
avatarUrl String
نشانی اینترنتی (URL) که تصویر آواتار چت کاربر در آن قرار دارد.
displayName String
نام نمایشی چت کاربر.

نحوه ایجاد پایگاه داده Firestore به شرح زیر است:

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Firestore بروید. روی Menu > Firestore کلیک کنید.

    به فایر استور بروید

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

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

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

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

    1. در قسمت Name your database ، شناسه پایگاه داده را به صورت پیش‌فرض (Database ID (default) بگذارید.

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

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

رابط خط فرمان جی‌کلاود

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

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

    به جای LOCATION ، نام منطقه‌ی Firestore مانند us-central1 را قرار دهید.

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

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

مشاهده در گیت‌هاب

در اینجا خلاصه‌ای از هر فایل را مشاهده می‌کنید:

env.js
متغیرهای پیکربندی محیط برای استقرار برنامه چت در یک پروژه و منطقه مشخص شده Google Cloud. شما باید متغیرهای پیکربندی را در این فایل به‌روزرسانی کنید.
package.json و package-lock.json
تنظیمات و وابستگی‌های پروژه Node.js.
index.js
نقطه ورود برای تابع ابری برنامه چت. این تابع رویداد چت را از درخواست 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
API هوش مصنوعی Vertex را برای پیش‌بینی متن هوش مصنوعی مولد فراخوانی می‌کند.
model/*.js
این فایل‌ها شامل تعریف کلاس‌ها و enumهایی هستند که سرویس‌های برنامه برای ذخیره و انتقال داده‌ها بین توابع از آنها استفاده می‌کنند. آنها مدل داده را برای پایگاه داده Firestore تنظیم می‌کنند.
views/*.js
هر فایل در این دایرکتوری یک شیء کارت را نمونه‌سازی می‌کند که برنامه چت سپس آن را به صورت یک پیام کارت یا یک پاسخ اکشن دیالوگ به چت ارسال می‌کند.
views/widgets/*.js
هر فایل یک نوع شیء ویجت را نمونه‌سازی می‌کند که برنامه برای ساخت کارت‌ها در دایرکتوری views/ از آن استفاده می‌کند.
test/**/*.test.js
هر فایل در این دایرکتوری و زیرشاخه‌های آن شامل تست‌های واحد برای تابع، کنترلر، سرویس، نما یا ویجت مربوطه است. می‌توانید تمام تست‌های واحد را با اجرای npm run test در دایرکتوری ریشه پروژه اجرا کنید.

ایجاد و استقرار عملکرد ابری

در این بخش، شما یک تابع ابری ایجاد و مستقر می‌کنید که منطق برنامه چت مدیریت پروژه را در بر می‌گیرد.

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

نحوه ایجاد تابع ابری به شرح زیر است:

کنسول گوگل کلود

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

    فایل زیپ را دانلود کنید

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

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

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

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

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

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

  10. در Destination bucket ، یک bucket ایجاد یا انتخاب کنید:

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

    گوگل کلود فایل زیپ را آپلود کرده و فایل‌های کامپوننت موجود در این باکت را استخراج می‌کند. سپس Cloud Functions فایل‌های کامپوننت را در Cloud Function کپی می‌کند.

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

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

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

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

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

  15. وقتی تابع به کار خود پایان داد، آدرس URL تریگر را کپی کنید:

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

رابط خط فرمان جی‌کلاود

  1. کد را از گیت‌هاب کپی کنید:

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

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

    1. به جای project-id ، شناسه پروژه گوگل کلود خود را وارد کنید.
    2. به جای 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 را از پاسخ کپی کنید. این همان Trigger URL است که در بخش بعدی برای پیکربندی برنامه Google Chat استفاده خواهید کرد.

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

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

  1. در کنسول گوگل کلود، > محصولات بیشتر > فضای کاری گوگل > کتابخانه محصولات > رابط برنامه‌نویسی کاربردی گوگل چت > مدیریت > پیکربندی کلیک کنید.

    به پیکربندی API چت بروید

  2. پاک کردن «این برنامه گپ را به عنوان یک افزونه Google Workspace بسازید» . یک کادر محاوره‌ای باز می‌شود که از شما می‌خواهد تأیید کنید. در کادر محاوره‌ای، روی غیرفعال کردن کلیک کنید.

  3. در قسمت نام برنامه ، Project Manager تایپ کنید.

  4. در قسمت آدرس اینترنتی آواتار ، https://developers.google.com/chat/images/quickstart-app-avatar.png را تایپ کنید.

  5. در قسمت توضیحات ، نوع Manages projects with user stories.

  6. روی گزینه‌ی «فعال کردن ویژگی‌های تعاملی» کلیک کنید تا فعال شود.

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

  8. در قسمت تنظیمات اتصال ، آدرس اینترنتی نقطه پایانی HTTP را انتخاب کنید.

  9. در قسمت HTTP endpoint URL ، آدرس Trigger URL که از استقرار Cloud Functions کپی کرده‌اید را با فرمت https:// REGION - PROJECT_ID .cloudfunctions.net/project-management-tutorial جایگذاری کنید. اگر Cloud Function را با gcloud CLI مستقر کرده‌اید، این ویژگی url است.

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

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

      نام شناسه فرمان توضیحات نوع فرمان نام دستور اسلش یک کادر محاوره‌ای باز می‌کند
      یک داستان کاربری ایجاد کنید ۱ داستانی با عنوان مشخص شده ایجاد کنید. دستور اسلش /createUserStory انتخاب نشده
      داستان‌های کاربری من ۲ تمام داستان‌های اختصاص داده شده به کاربر را فهرست می‌کند. دستور اسلش /myUserStories انتخاب نشده
      داستان کاربر ۳ وضعیت فعلی داستان مشخص شده را نمایش می‌دهد. دستور اسلش /userStory انتخاب نشده
      مدیریت داستان‌های کاربر ۴ پنجره‌ای باز می‌شود که در آن می‌توان داستان‌ها را ویرایش کرد. دستور اسلش /manageUserStories انتخاب شده
      داستان‌های کاربر را پاکسازی کنید ۵ تمام داستان‌های موجود در آن فضا را حذف می‌کند. دستور اسلش /cleanupUserStories انتخاب نشده
  11. در قسمت «قابلیت مشاهده» ، گزینه «این برنامه چت را برای افراد و گروه‌های خاص در دامنه فضای کاری خود در دسترس قرار دهید» را انتخاب کنید و آدرس ایمیل خود را وارد کنید.

  12. به صورت اختیاری، در قسمت Logs ، گزینه Log errors to Logging را انتخاب کنید.

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

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

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

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

    به گوگل چت بروید

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

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

    به فایر استور بروید

  8. بازگشت به گوگل چت.

    به گوگل چت بروید

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

عیب‌یابی

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

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

تمیز کردن

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

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

    به مدیریت منابع بروید

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