این آموزش نحوه ساخت برنامه Google Chat را نشان می دهد که یک تیم می تواند از آن برای مدیریت پروژه ها در زمان واقعی استفاده کند. برنامه Chat از Vertex AI برای کمک به تیمها برای نوشتن داستانهای کاربر (که ویژگیهای یک سیستم نرمافزاری را از دیدگاه کاربر برای تیم توسعه میدهد) کمک میکند و داستانها را در پایگاه داده Firestore ادامه میدهد.
شکل 2. با استفاده از دستور اسلش /createUserStory
، چارلی یک داستان ایجاد می کند.شکل 3. برنامه Chat مدیریت پروژه از Vertex AI برای نوشتن شرح داستان استفاده می کند، سپس داستان را در فضا به اشتراک می گذارد. شکل 4. چارلی روی Edit کلیک می کند تا جزئیات داستان نهایی شود. توضیحات هوش مصنوعی دقیق است، اما چارلی جزئیات بیشتری میخواهد، بنابراین چارلی روی Expand کلیک میکند تا Vertex AI الزاماتی را به شرح داستان اضافه کند. چارلی داستان را به خودش اختصاص می دهد، وضعیت را روی شروع تنظیم می کند، اولویت و اندازه مناسب را انتخاب می کند، سپس روی ذخیره کلیک می کند. شکل 5. در هر زمان، چارلی می تواند تمام داستان های کاربران تیم را با دستور اسلش /manageUserStories
ببیند و مدیریت کند.
پیش نیازها
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
برای انجام کارهای زیر به خدمات Google Cloud دسترسی پیدا کنید:
- یک پروژه Google Cloud ایجاد کنید.
- یک حساب صورتحساب Google Cloud را به پروژه Cloud پیوند دهید. برای اطلاع از اینکه آیا دسترسی دارید، به مجوزهای لازم برای فعال کردن صورتحساب مراجعه کنید.
از فراخوانهای عملکرد Google Cloud احراز هویت نشده استفاده کنید، که میتوانید با تعیین اینکه آیا سازمان Google Cloud شما از اشتراکگذاری محدود دامنه استفاده میکند، تأیید کنید.
در صورت لزوم، از سرپرست Google Cloud خود برای دسترسی یا اجازه بخواهید.
اگر از Google Cloud CLI استفاده می کنید، یک محیط توسعه Node.js برای کار با gcloud CLI پیکربندی شده است. به تنظیم محیط توسعه Node.js مراجعه کنید.
اهداف
- یک برنامه چت بسازید که پروژه های نرم افزاری چابک را مدیریت می کند.
- به کاربران کمک کنید تا داستان های کاربر را با ابزارهای داستان نویسی مولد به کمک هوش مصنوعی که توسط 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 به این صورت عمل می کند:
کاربر پیامی را در Chat ارسال می کند و برنامه مدیریت پروژه Google Chat را با ارسال مستقیم پیام، ذکر آن در یک فاصله یا وارد کردن یک دستور اسلش فراخوانی می کند.
Chat یک درخواست HTTP همزمان را به نقطه پایانی HTTP تابع Cloud ارسال می کند.
برنامه مدیریت پروژه Google Chat درخواست HTTP را پردازش می کند:
Vertex AI به نوشتن یا به روز رسانی یک داستان کاربر کمک می کند.
پایگاه داده Firestore داده های داستان کاربر را ذخیره، بازیابی، به روز رسانی یا حذف می کند.
Cloud Functions یک پاسخ HTTP را به Chat برمی گرداند که آن را به عنوان پیام یا گفتگو به کاربر نمایش می دهد.
محیط را آماده کنید
این بخش نحوه ایجاد و پیکربندی یک پروژه Google Cloud را برای برنامه Chat نشان می دهد.
یک پروژه Google Cloud ایجاد کنید
کنسول Google Cloud
- در کنسول Google Cloud، به > IAM & Admin > ایجاد پروژه بروید. منو
- در قسمت Project Name یک نام توصیفی برای پروژه خود وارد کنید.
اختیاری: برای ویرایش شناسه پروژه ، روی ویرایش کلیک کنید. شناسه پروژه پس از ایجاد پروژه قابل تغییر نیست، بنابراین شناسه ای را انتخاب کنید که نیازهای شما را برای طول عمر پروژه برآورده کند.
- در قسمت Location ، روی Browse کلیک کنید تا مکان های احتمالی پروژه شما نمایش داده شود. سپس، روی انتخاب کلیک کنید.
- روی ایجاد کلیک کنید. کنسول 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
صورتحساب پروژه Cloud را فعال کنید
کنسول Google Cloud
- در کنسول Google Cloud، به Billing بروید. صورتحساب > پروژههای من کلیک کنید. >
- در انتخاب سازمان ، سازمان مرتبط با پروژه Google Cloud خود را انتخاب کنید.
- در ردیف پروژه، منوی Actions ( ) را باز کنید، روی Change billing کلیک کنید و حساب Cloud Billing را انتخاب کنید.
- روی تنظیم حساب کلیک کنید.
gcloud CLI
- برای فهرست کردن حسابهای صورتحساب موجود، اجرا کنید:
gcloud billing accounts list
- پیوند یک حساب صورتحساب با پروژه Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
موارد زیر را جایگزین کنید:
-
PROJECT_ID
شناسه پروژه برای پروژه Cloud است که میخواهید صورتحساب را برای آن فعال کنید. -
BILLING_ACCOUNT_ID
شناسه حساب صورتحساب برای پیوند با پروژه Google Cloud است.
-
API ها را فعال کنید
کنسول Google Cloud
در کنسول Google Cloud، Google Chat API، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API و Cloud Run Admin API را فعال کنید.
تأیید کنید که APIها را در پروژه Cloud صحیح فعال میکنید، سپس روی Next کلیک کنید.
تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.
gcloud CLI
در صورت لزوم، پروژه فعلی Cloud را روی پروژه ای که با دستور
gcloud config set project
ایجاد کرده اید، تنظیم کنید:gcloud config set project PROJECT_ID
PROJECT_ID با Project ID پروژه Cloud که ایجاد کردید جایگزین کنید.
Google Chat API، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API و Cloud Run Admin API را با دستور
gcloud services enable
فعال کنید:gcloud services enable chat.googleapis.com \ aiplatform.googleapis.com \ cloudfunctions.googleapis.com \ firestore.googleapis.com \ cloudbuild.googleapis.com \ pubsub.googleapis.com \ run.googleapis.com
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 هستید. در این بخش کارهای زیر را انجام می دهید:
- یک پایگاه داده Firestore ایجاد کنید که در آن بتوانید داستان های کاربر را بازیابی کنید.
- در صورت تمایل، کد نمونه را بررسی کنید.
- یک تابع Cloud برای میزبانی و اجرای کد برنامه Chat در پاسخ به رویدادهایی که از Chat به عنوان درخواست HTTP دریافت میشود، ایجاد کنید.
- یک برنامه Google Chat را در صفحه پیکربندی Google Chat API ایجاد و اجرا کنید.
پایگاه داده Firestore را ایجاد کنید
در این بخش، شما یک پایگاه داده Firestore برای ماندگاری و بازیابی داستان های کاربر ایجاد می کنید، اما مدل داده را تعریف نمی کنید. مدل داده به طور ضمنی در کد نمونه توسط فایلهای model/user-story.js
و model/user.js
تنظیم میشود.
پایگاه داده برنامه Chat مدیریت پروژه از یک مدل داده NoSQL بر اساس اسناد مدل داده Firestore را ببینید.
سازماندهی شده در مجموعه های استفاده می کند. برای کسب اطلاعات بیشتر،نمودار زیر نمای کلی از مدل داده برنامه Google Chat مدیریت پروژه است:
مجموعه ریشه spaces
است که در آن هر سند فضایی را نشان میدهد که برنامه Chat داستانها را در آن ایجاد کرده است. هر داستان کاربر با یک سند در زیر مجموعه userStories
و هر کاربر با یک سند در زیر مجموعه users
نشان داده میشود.
مجموعه، سند و تعاریف فیلد را مشاهده کنید
spaces
فضاهایی که برنامه چت در آن داستانهایی ایجاد کرد.
فیلدها | |
---|---|
Document ID | String شناسه منحصر به فرد یک فضای خاص که در آن داستان ها ایجاد می شوند. با نام منبع فضا در Chat API مطابقت دارد. |
userStories | Subcollection of Documents ( داستان های ایجاد شده توسط برنامه چت و کاربران آن. با 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
در کنسول Google Cloud، به Firestore بروید. Firestore کلیک کنید.
>روی ایجاد پایگاه داده کلیک کنید.
از انتخاب حالت Firestore خود ، روی حالت بومی کلیک کنید.
روی Continue کلیک کنید.
دیتابیس را پیکربندی کنید:
در Name your database ، شناسه پایگاه داده را به عنوان
(default)
بگذارید.در نوع مکان ، یک منطقه برای پایگاه داده خود مشخص کنید، مانند
us-central1
. برای بهترین عملکرد، مکان مشابه یا نزدیک را به عنوان عملکرد ابری برنامه چت انتخاب کنید.
روی ایجاد پایگاه داده کلیک کنید.
gcloud CLI
یک پایگاه داده Firestore در حالت Native با دستور
gcloud firestore databases create
ایجاد کنید:gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
LOCATION با نام یک منطقه Firestore ، مانند
us-central1
جایگزین کنید.
کد نمونه را مرور کنید
در صورت تمایل، قبل از ایجاد عملکرد ابری، لحظه ای را به مرور و آشنایی با کد نمونه ای که در 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
کد را از GitHub به صورت یک فایل فشرده دانلود کنید.
فایل فشرده دانلود شده را اکسترکت کنید.
پوشه استخراج شده شامل کل مخزن نمونه های Google Workspace است.
در پوشه استخراج شده، به
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/
-
در کنسول Google Cloud، به صفحه Cloud Functions بروید:
مطمئن شوید که پروژه Google Cloud برای برنامه چت شما انتخاب شده است.
روی
Create Function کلیک کنید.در صفحه ایجاد تابع ، تابع خود را تنظیم کنید:
- در Environment ، 2nd gen را انتخاب کنید.
- در Function name ،
project-management-tutorial
را وارد کنید. - در منطقه ، یک منطقه را انتخاب کنید.
- در زیر احراز هویت ، اجازه دادن به فراخوان های احراز هویت نشده را انتخاب کنید.
- روی Next کلیک کنید.
در Runtime ، Node.js 20 را انتخاب کنید.
در نقطه ورودی ، متن پیش فرض را حذف کرده و وارد
projectManagementChatApp
شوید.در کد منبع ، آپلود فشرده را انتخاب کنید.
در سطل مقصد ، یک سطل ایجاد یا انتخاب کنید:
- روی Browse کلیک کنید.
- یک سطل انتخاب کنید.
- روی انتخاب کلیک کنید.
Google Cloud فایل فشرده را در این سطل آپلود می کند و فایل های جزء را استخراج می کند. Cloud Functions سپس فایل های جزء را در Cloud Function کپی می کند.
در فایل Zip ، فایل فشردهای را که از GitHub دانلود کردهاید، استخراج و دوباره فشرده کردهاید، آپلود کنید:
- روی Browse کلیک کنید.
- به فایل فشرده بروید و آن را انتخاب کنید.
- روی Open کلیک کنید.
روی Deploy کلیک کنید.
صفحه جزئیات Cloud Functions باز می شود و عملکرد شما با دو نشانگر پیشرفت ظاهر می شود: یکی برای ساخت و دیگری برای سرویس. هنگامی که هر دو نشانگر پیشرفت ناپدید می شوند و با علامت چک جایگزین می شوند، عملکرد شما مستقر و آماده است.
کد نمونه را برای تنظیم ثابت ها ویرایش کنید:
- در صفحه جزئیات عملکرد ابر ، روی ویرایش کلیک کنید.
- روی Next کلیک کنید.
- در کد منبع ، ویرایشگر درون خطی را انتخاب کنید.
- در ویرایشگر داخلی، فایل
env.js
را باز کنید. - project-id با ID پروژه Cloud خود جایگزین کنید.
- اختیاری: us-central1 را با یک مکان پشتیبانی شده برای عملکرد Cloud خود به روز کنید.
روی Deploy کلیک کنید.
هنگامی که عملکرد به پایان رسید، URL ماشه را کپی کنید:
- در صفحه جزئیات عملکرد ، روی Trigger کلیک کنید.
- URL را کپی کنید. برای پیکربندی برنامه Chat در بخش زیر به آن نیاز دارید.
gcloud CLI
کد را از GitHub کلون کنید:
git clone https://github.com/googleworkspace/google-chat-samples.git
به دایرکتوری که کد این برنامه چت مدیریت پروژه را در خود دارد بروید:
cd google-chat-samples/node/project-management-app
فایل
env.js
را برای تنظیم متغیرهای محیط ویرایش کنید:- شناسه پروژه Google Cloud خود را جایگزین project-id کنید.
- محل پروژه Google Cloud خود را جایگزین us-central1 کنید.
استقرار تابع 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
جایگزین کنید.
- هنگامی که عملکرد به پایان رسید، ویژگی
url
را از پاسخ کپی کنید. این نشانی اینترنتی راهاندازی است که در بخش زیر برای پیکربندی برنامه Google Chat استفاده میکنید.
برنامه Google Chat را در کنسول Google Cloud پیکربندی کنید
این بخش نحوه پیکربندی Chat API را در کنسول Google Cloud با اطلاعات مربوط به برنامه Chat، از جمله نام برنامه Chat، دستورات اسلش پشتیبانیشده، و URL راهانداز عملکرد Cloud برنامه Chat که رویدادهای تعامل Chat را به آن ارسال میکند، نشان میدهد.
در کنسول Google Cloud، محصولات بیشتر > Google Workspace > کتابخانه محصول > Google Chat API > مدیریت > پیکربندی کلیک کنید.
>در نام برنامه ،
Project Manager
تایپ کنید.در URL آواتار ،
https://developers.google.com/chat/images/quickstart-app-avatar.png
را تایپ کنید.در توضیحات ،
Manages projects with user stories.
روی گزینه فعال کردن ویژگی های تعاملی در موقعیت روشن کلیک کنید.
در بخش عملکرد ، دریافت پیام های 1:1 ، پیوستن به فضاها و مکالمات گروهی را انتخاب کنید.
در قسمت تنظیمات اتصال ، URL نقطه پایانی HTTP را انتخاب کنید.
در نشانی اینترنتی نقطه پایانی HTTP ، نشانی اینترنتی راهاندازی را که از استقرار توابع ابر کپی کردهاید، با قالببندی
https://
REGION-
PROJECT_ID.cloudfunctions.net/project-management-tutorial
، جایگذاری کنید. اگر تابع Cloud را با gcloud CLI مستقر کرده اید، این ویژگیurl
است.دستورات اسلش برنامه چت را ثبت کنید. برای ثبت دستور اسلش:
- در زیر دستورات اسلش ، روی افزودن دستور اسلش کلیک کنید.
برای هر دستور اسلش که در جدول زیر توضیح داده شده است، نام ، شناسه فرمان ، توضیحات را وارد کنید و انتخاب کنید که آیا دستور اسلش یک گفتگو را باز می کند یا نه، سپس روی Done کلیک کنید:
نام شناسه فرمان توضیحات گفتگویی را باز می کند /createUserStory
1 یک داستان با عنوان مشخص بسازید. انتخاب نشده است /myUserStories
2 تمام داستان های اختصاص داده شده به کاربر را فهرست می کند. انتخاب نشده است /userStory
3 وضعیت فعلی داستان مشخص شده را نمایش می دهد. انتخاب نشده است /manageUserStories
4 گفتگویی را باز می کند که در آن داستان ها قابل ویرایش هستند. انتخاب شده است /cleanupUserStories
5 تمام داستان های موجود در فضا را حذف می کند. انتخاب نشده است
در قسمت Visibility ، این برنامه چت را برای افراد و گروههای خاصی در دامنه Workspace در دسترس قرار دهید را انتخاب کنید و آدرس ایمیل خود را وارد کنید.
به صورت اختیاری، در زیر Logs ، Log errors to Logging را انتخاب کنید.
روی ذخیره کلیک کنید. یک پیام ذخیره شده پیکربندی ظاهر می شود، به این معنی که برنامه Chat برای آزمایش آماده است.
برنامه چت را تست کنید
برنامه Chat مدیریت پروژه را با ارسال پیام و استفاده از دستورات اسلش آن برای ایجاد، ویرایش و حذف داستان های کاربر آزمایش کنید.
Google Chat را با استفاده از حساب Google Workspace که هنگام اضافه کردن خود به عنوان آزمایشکننده معتمد ارائه کردهاید، باز کنید.
- روی گپ جدید کلیک کنید.
- در قسمت افزودن 1 یا چند نفر ، نام برنامه چت خود را تایپ کنید.
برنامه چت خود را از نتایج انتخاب کنید. یک پیام مستقیم باز می شود.
- در پیام مستقیم جدید با برنامه،
Hello
تایپ کرده وenter
فشار دهید. برنامه Chat مدیریت پروژه با منوی راهنما پاسخ می دهد که جزئیات کارهایی که می تواند انجام دهد را توضیح می دهد. - برای ایجاد یک داستان،
/createUserStory Test story
در نوار پیام تایپ کنید و آن را ارسال کنید. برنامه چت مدیریت پروژه با یک پیام کارتی پاسخ میدهد که داستان کاربر را با استفاده از هوش مصنوعی مولد Vertex AI برای شما ایجاد میکند. در کنسول، پایگاه داده Firestore را بررسی کنید تا سوابق ایجاد شده در مورد فضایی که برنامه Chat را به آن اضافه کرده اید، کاربرانی که با آن تعامل داشته اند، و داستان کاربری که ایجاد کرده اید را مرور کنید.
به چت گوگل بازگردید.
- در صورت تمایل، برای ویرایش داستان، روی ویرایش کلیک کنید. وقتی از داستان راضی شدید، روی ذخیره کلیک کنید.
- هر دستور اسلش که توسط برنامه پشتیبانی می شود را تست کنید. برای دیدن آنها، تایپ کنید
/
یا برنامه Chat را ذکر کنید. - با صدور دستور اسلش
/cleanupUserStories
داستان کاربر آزمایشی را حذف کنید. یا، برنامه را حذف یا حذف نصب کنید . پس از حذف، برنامه تمام داستان های کاربر ایجاد شده در آن فضا را حذف می کند.
عیب یابی
وقتی یک برنامه یا کارت Google Chat خطایی را برمیگرداند، رابط Chat پیامی را نشان میدهد که میگوید «مشکلی پیش آمده است». یا "نمی توان به درخواست شما رسیدگی کرد." گاهی اوقات Chat UI هیچ پیام خطایی را نمایش نمی دهد، اما برنامه یا کارت Chat نتیجه غیرمنتظره ای ایجاد می کند. برای مثال، ممکن است پیام کارت ظاهر نشود.
اگرچه ممکن است پیام خطا در رابط کاربری گپ نمایش داده نشود، پیامهای خطای توصیفی و دادههای گزارش در دسترس هستند تا به شما کمک کنند هنگام فعال بودن ثبت خطا برای برنامههای گپ، خطاها را برطرف کنید. برای راهنمایی برای مشاهده، اشکالزدایی و رفع خطاها، به عیبیابی و رفع خطاهای Google Chat مراجعه کنید.
پاک کن
برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می کنیم پروژه Cloud را حذف کنید.
- در کنسول Google Cloud، به صفحه مدیریت منابع بروید. IAM & Admin > Manage Resources کلیک کنید. >
- در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
- در گفتگو، ID پروژه را تایپ کنید و سپس بر روی Shut down کلیک کنید تا پروژه حذف شود.
موضوعات مرتبط
- با برنامه Gemini AI Chat به سؤالات بر اساس مکالمات چت پاسخ دهید
- با Google Chat، Vertex AI و Apps Script به حوادث پاسخ دهید
این آموزش نحوه ساخت برنامه Google Chat را نشان می دهد که یک تیم می تواند از آن برای مدیریت پروژه ها در زمان واقعی استفاده کند. برنامه Chat از Vertex AI برای کمک به تیمها برای نوشتن داستانهای کاربر (که ویژگیهای یک سیستم نرمافزاری را از دیدگاه کاربر برای تیم توسعه میدهد) کمک میکند و داستانها را در پایگاه داده Firestore ادامه میدهد.
شکل 2. با استفاده از دستور اسلش /createUserStory
، چارلی یک داستان ایجاد می کند.شکل 3. برنامه Chat مدیریت پروژه از Vertex AI برای نوشتن شرح داستان استفاده می کند، سپس داستان را در فضا به اشتراک می گذارد. شکل 4. چارلی روی Edit کلیک می کند تا جزئیات داستان نهایی شود. توضیحات هوش مصنوعی دقیق است، اما چارلی جزئیات بیشتری میخواهد، بنابراین چارلی روی Expand کلیک میکند تا Vertex AI الزاماتی را به شرح داستان اضافه کند. چارلی داستان را به خودش اختصاص می دهد، وضعیت را روی شروع تنظیم می کند، اولویت و اندازه مناسب را انتخاب می کند، سپس روی ذخیره کلیک می کند. شکل 5. در هر زمان، چارلی می تواند تمام داستان های کاربران تیم را با دستور اسلش /manageUserStories
ببیند و مدیریت کند.
پیش نیازها
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
برای انجام کارهای زیر به خدمات Google Cloud دسترسی پیدا کنید:
- یک پروژه Google Cloud ایجاد کنید.
- یک حساب صورتحساب Google Cloud را به پروژه Cloud پیوند دهید. برای اطلاع از اینکه آیا دسترسی دارید، به مجوزهای لازم برای فعال کردن صورتحساب مراجعه کنید.
از فراخوانهای عملکرد Google Cloud احراز هویت نشده استفاده کنید، که میتوانید با تعیین اینکه آیا سازمان Google Cloud شما از اشتراکگذاری محدود دامنه استفاده میکند، تأیید کنید.
در صورت لزوم، از سرپرست Google Cloud خود برای دسترسی یا اجازه بخواهید.
اگر از Google Cloud CLI استفاده می کنید، یک محیط توسعه Node.js برای کار با gcloud CLI پیکربندی شده است. به تنظیم محیط توسعه Node.js مراجعه کنید.
اهداف
- یک برنامه چت بسازید که پروژه های نرم افزاری چابک را مدیریت می کند.
- به کاربران کمک کنید تا داستان های کاربر را با ابزارهای داستان نویسی مولد به کمک هوش مصنوعی که توسط 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 به این صورت عمل می کند:
کاربر پیامی را در Chat ارسال می کند و برنامه مدیریت پروژه Google Chat را با ارسال مستقیم پیام، ذکر آن در یک فاصله یا وارد کردن یک دستور اسلش فراخوانی می کند.
Chat یک درخواست HTTP همزمان را به نقطه پایانی HTTP تابع Cloud ارسال می کند.
برنامه مدیریت پروژه Google Chat درخواست HTTP را پردازش می کند:
Vertex AI به نوشتن یا به روز رسانی یک داستان کاربر کمک می کند.
پایگاه داده Firestore داده های داستان کاربر را ذخیره، بازیابی، به روز رسانی یا حذف می کند.
Cloud Functions یک پاسخ HTTP را به Chat برمی گرداند که آن را به عنوان پیام یا گفتگو به کاربر نمایش می دهد.
محیط را آماده کنید
این بخش نحوه ایجاد و پیکربندی یک پروژه Google Cloud را برای برنامه Chat نشان می دهد.
یک پروژه Google Cloud ایجاد کنید
کنسول Google Cloud
- در کنسول Google Cloud، به > IAM & Admin > ایجاد پروژه بروید. منو
- در قسمت Project Name یک نام توصیفی برای پروژه خود وارد کنید.
اختیاری: برای ویرایش شناسه پروژه ، روی ویرایش کلیک کنید. شناسه پروژه پس از ایجاد پروژه قابل تغییر نیست، بنابراین شناسه ای را انتخاب کنید که نیازهای شما را برای طول عمر پروژه برآورده کند.
- در قسمت Location ، روی Browse کلیک کنید تا مکان های احتمالی پروژه شما نمایش داده شود. سپس، روی انتخاب کلیک کنید.
- روی ایجاد کلیک کنید. کنسول 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
صورتحساب پروژه Cloud را فعال کنید
کنسول Google Cloud
- در کنسول Google Cloud، به Billing بروید. صورتحساب > پروژههای من کلیک کنید. >
- در انتخاب سازمان ، سازمان مرتبط با پروژه Google Cloud خود را انتخاب کنید.
- در ردیف پروژه، منوی Actions ( ) را باز کنید، روی Change billing کلیک کنید و حساب Cloud Billing را انتخاب کنید.
- روی تنظیم حساب کلیک کنید.
gcloud CLI
- برای فهرست کردن حسابهای صورتحساب موجود، اجرا کنید:
gcloud billing accounts list
- پیوند یک حساب صورتحساب با پروژه Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
موارد زیر را جایگزین کنید:
-
PROJECT_ID
شناسه پروژه برای پروژه Cloud است که میخواهید صورتحساب را برای آن فعال کنید. -
BILLING_ACCOUNT_ID
شناسه حساب صورتحساب برای پیوند با پروژه Google Cloud است.
-
API ها را فعال کنید
کنسول Google Cloud
در کنسول Google Cloud، Google Chat API، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API و Cloud Run Admin API را فعال کنید.
تأیید کنید که APIها را در پروژه Cloud صحیح فعال میکنید، سپس روی Next کلیک کنید.
تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.
gcloud CLI
در صورت لزوم، پروژه فعلی Cloud را روی پروژه ای که با دستور
gcloud config set project
ایجاد کرده اید، تنظیم کنید:gcloud config set project PROJECT_ID
PROJECT_ID با Project ID پروژه Cloud که ایجاد کردید جایگزین کنید.
Google Chat API، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API و Cloud Run Admin API را با دستور
gcloud services enable
فعال کنید:gcloud services enable chat.googleapis.com \ aiplatform.googleapis.com \ cloudfunctions.googleapis.com \ firestore.googleapis.com \ cloudbuild.googleapis.com \ pubsub.googleapis.com \ run.googleapis.com
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 هستید. در این بخش کارهای زیر را انجام می دهید:
- یک پایگاه داده Firestore ایجاد کنید که در آن بتوانید داستان های کاربر را بازیابی کنید.
- در صورت تمایل، کد نمونه را بررسی کنید.
- یک تابع Cloud برای میزبانی و اجرای کد برنامه Chat در پاسخ به رویدادهایی که از Chat به عنوان درخواست HTTP دریافت میشود، ایجاد کنید.
- یک برنامه Google Chat را در صفحه پیکربندی Google Chat API ایجاد و اجرا کنید.
پایگاه داده Firestore را ایجاد کنید
در این بخش، شما یک پایگاه داده Firestore برای ماندگاری و بازیابی داستان های کاربر ایجاد می کنید، اما مدل داده را تعریف نمی کنید. مدل داده به طور ضمنی در کد نمونه توسط فایلهای model/user-story.js
و model/user.js
تنظیم میشود.
پایگاه داده برنامه Chat مدیریت پروژه از یک مدل داده NoSQL بر اساس اسناد مدل داده Firestore را ببینید.
سازماندهی شده در مجموعه های استفاده می کند. برای کسب اطلاعات بیشتر،نمودار زیر نمای کلی از مدل داده برنامه Google Chat مدیریت پروژه است:
مجموعه ریشه spaces
است که در آن هر سند فضایی را نشان میدهد که برنامه Chat داستانها را در آن ایجاد کرده است. هر داستان کاربر با یک سند در زیر مجموعه userStories
و هر کاربر با یک سند در زیر مجموعه users
نشان داده میشود.
مجموعه، سند و تعاریف فیلد را مشاهده کنید
spaces
فضاهایی که برنامه چت در آن داستانهایی ایجاد کرد.
فیلدها | |
---|---|
Document ID | String شناسه منحصر به فرد یک فضای خاص که در آن داستان ها ایجاد می شوند. با نام منبع فضا در Chat API مطابقت دارد. |
userStories | Subcollection of Documents ( داستان های ایجاد شده توسط برنامه چت و کاربران آن. با 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
در کنسول Google Cloud، به Firestore بروید. Firestore کلیک کنید.
>روی ایجاد پایگاه داده کلیک کنید.
از انتخاب حالت Firestore خود ، روی حالت بومی کلیک کنید.
روی Continue کلیک کنید.
دیتابیس را پیکربندی کنید:
در Name your database ، شناسه پایگاه داده را به عنوان
(default)
بگذارید.در نوع مکان ، یک منطقه برای پایگاه داده خود مشخص کنید، مانند
us-central1
. برای بهترین عملکرد، مکان مشابه یا نزدیک را به عنوان عملکرد ابری برنامه چت انتخاب کنید.
روی ایجاد پایگاه داده کلیک کنید.
gcloud CLI
یک پایگاه داده Firestore در حالت Native با دستور
gcloud firestore databases create
ایجاد کنید:gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
LOCATION با نام یک منطقه Firestore ، مانند
us-central1
جایگزین کنید.
کد نمونه را مرور کنید
در صورت تمایل، قبل از ایجاد عملکرد ابری، لحظه ای را به مرور و آشنایی با کد نمونه ای که در 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
کد را از GitHub به صورت یک فایل فشرده دانلود کنید.
فایل فشرده دانلود شده را اکسترکت کنید.
پوشه استخراج شده شامل کل مخزن نمونه های Google Workspace است.
در پوشه استخراج شده، به
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/
-
در کنسول Google Cloud، به صفحه Cloud Functions بروید:
مطمئن شوید که پروژه Google Cloud برای برنامه چت شما انتخاب شده است.
روی
Create Function کلیک کنید.در صفحه ایجاد تابع ، تابع خود را تنظیم کنید:
- در Environment ، 2nd gen را انتخاب کنید.
- در Function name ،
project-management-tutorial
را وارد کنید. - در منطقه ، یک منطقه را انتخاب کنید.
- در زیر احراز هویت ، اجازه دادن به فراخوان های احراز هویت نشده را انتخاب کنید.
- روی Next کلیک کنید.
در Runtime ، Node.js 20 را انتخاب کنید.
در نقطه ورودی ، متن پیش فرض را حذف کرده و وارد
projectManagementChatApp
شوید.در کد منبع ، آپلود فشرده را انتخاب کنید.
در سطل مقصد ، یک سطل ایجاد یا انتخاب کنید:
- روی Browse کلیک کنید.
- یک سطل انتخاب کنید.
- روی انتخاب کلیک کنید.
Google Cloud فایل فشرده را در این سطل آپلود می کند و فایل های جزء را استخراج می کند. Cloud Functions سپس فایل های جزء را در Cloud Function کپی می کند.
در فایل Zip ، فایل فشردهای را که از GitHub دانلود کردهاید، استخراج و دوباره فشرده کردهاید، آپلود کنید:
- روی Browse کلیک کنید.
- به فایل فشرده بروید و آن را انتخاب کنید.
- روی Open کلیک کنید.
روی Deploy کلیک کنید.
صفحه جزئیات Cloud Functions باز می شود و عملکرد شما با دو نشانگر پیشرفت ظاهر می شود: یکی برای ساخت و دیگری برای سرویس. هنگامی که هر دو نشانگر پیشرفت ناپدید می شوند و با علامت چک جایگزین می شوند، عملکرد شما مستقر و آماده است.
کد نمونه را برای تنظیم ثابت ها ویرایش کنید:
- در صفحه جزئیات عملکرد ابر ، روی ویرایش کلیک کنید.
- روی Next کلیک کنید.
- در کد منبع ، ویرایشگر درون خطی را انتخاب کنید.
- در ویرایشگر داخلی، فایل
env.js
را باز کنید. - project-id با ID پروژه Cloud خود جایگزین کنید.
- اختیاری: us-central1 را با یک مکان پشتیبانی شده برای عملکرد Cloud خود به روز کنید.
روی Deploy کلیک کنید.
هنگامی که عملکرد به پایان رسید، URL ماشه را کپی کنید:
- در صفحه جزئیات عملکرد ، روی Trigger کلیک کنید.
- URL را کپی کنید. برای پیکربندی برنامه Chat در بخش زیر به آن نیاز دارید.
gcloud CLI
کد را از GitHub کلون کنید:
git clone https://github.com/googleworkspace/google-chat-samples.git
به دایرکتوری که کد این برنامه چت مدیریت پروژه را در خود دارد بروید:
cd google-chat-samples/node/project-management-app
فایل
env.js
را برای تنظیم متغیرهای محیط ویرایش کنید:- شناسه پروژه Google Cloud خود را جایگزین project-id کنید.
- محل پروژه Google Cloud خود را جایگزین us-central1 کنید.
استقرار تابع 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
جایگزین کنید.
- هنگامی که عملکرد به پایان رسید، ویژگی
url
را از پاسخ کپی کنید. این نشانی اینترنتی راهاندازی است که در بخش زیر برای پیکربندی برنامه Google Chat استفاده میکنید.
برنامه Google Chat را در کنسول Google Cloud پیکربندی کنید
این بخش نحوه پیکربندی Chat API را در کنسول Google Cloud با اطلاعات مربوط به برنامه Chat، از جمله نام برنامه Chat، دستورات اسلش پشتیبانیشده، و URL راهانداز عملکرد Cloud برنامه Chat که رویدادهای تعامل Chat را به آن ارسال میکند، نشان میدهد.
در کنسول Google Cloud، محصولات بیشتر > Google Workspace > کتابخانه محصول > Google Chat API > مدیریت > پیکربندی کلیک کنید.
>در نام برنامه ،
Project Manager
تایپ کنید.در URL آواتار ،
https://developers.google.com/chat/images/quickstart-app-avatar.png
را تایپ کنید.در توضیحات ،
Manages projects with user stories.
روی گزینه فعال کردن ویژگی های تعاملی در موقعیت روشن کلیک کنید.
در بخش عملکرد ، دریافت پیام های 1:1 ، پیوستن به فضاها و مکالمات گروهی را انتخاب کنید.
در قسمت تنظیمات اتصال ، URL نقطه پایانی HTTP را انتخاب کنید.
در نشانی اینترنتی نقطه پایانی HTTP ، نشانی اینترنتی راهاندازی را که از استقرار توابع ابر کپی کردهاید، با قالببندی
https://
REGION-
PROJECT_ID.cloudfunctions.net/project-management-tutorial
، جایگذاری کنید. اگر تابع Cloud را با gcloud CLI مستقر کرده اید، این ویژگیurl
است.دستورات اسلش برنامه چت را ثبت کنید. برای ثبت دستور اسلش:
- در زیر دستورات اسلش ، روی افزودن دستور اسلش کلیک کنید.
برای هر دستور اسلش که در جدول زیر توضیح داده شده است، نام ، شناسه فرمان ، توضیحات را وارد کنید و انتخاب کنید که آیا دستور اسلش یک گفتگو را باز می کند یا نه، سپس روی Done کلیک کنید:
نام شناسه فرمان توضیحات گفتگویی را باز می کند /createUserStory
1 یک داستان با عنوان مشخص بسازید. انتخاب نشده است /myUserStories
2 تمام داستان های اختصاص داده شده به کاربر را فهرست می کند. انتخاب نشده است /userStory
3 وضعیت فعلی داستان مشخص شده را نمایش می دهد. انتخاب نشده است /manageUserStories
4 گفتگویی را باز می کند که در آن داستان ها قابل ویرایش هستند. انتخاب شده است /cleanupUserStories
5 تمام داستان های موجود در فضا را حذف می کند. انتخاب نشده است
در قسمت Visibility ، این برنامه چت را برای افراد و گروههای خاصی در دامنه Workspace در دسترس قرار دهید را انتخاب کنید و آدرس ایمیل خود را وارد کنید.
به صورت اختیاری، در زیر Logs ، Log errors to Logging را انتخاب کنید.
روی ذخیره کلیک کنید. یک پیام ذخیره شده پیکربندی ظاهر می شود، به این معنی که برنامه Chat برای آزمایش آماده است.
برنامه چت را تست کنید
برنامه Chat مدیریت پروژه را با ارسال پیام و استفاده از دستورات اسلش آن برای ایجاد، ویرایش و حذف داستان های کاربر آزمایش کنید.
Google Chat را با استفاده از حساب Google Workspace که هنگام اضافه کردن خود به عنوان آزمایشکننده معتمد ارائه کردهاید، باز کنید.
- روی گپ جدید کلیک کنید.
- در قسمت افزودن 1 یا چند نفر ، نام برنامه چت خود را تایپ کنید.
برنامه چت خود را از نتایج انتخاب کنید. یک پیام مستقیم باز می شود.
- در پیام مستقیم جدید با برنامه،
Hello
تایپ کرده وenter
فشار دهید. برنامه Chat مدیریت پروژه با منوی راهنما پاسخ می دهد که جزئیات کارهایی که می تواند انجام دهد را توضیح می دهد. - برای ایجاد یک داستان،
/createUserStory Test story
در نوار پیام تایپ کنید و آن را ارسال کنید. برنامه چت مدیریت پروژه با یک پیام کارتی پاسخ میدهد که داستان کاربر را با استفاده از هوش مصنوعی مولد Vertex AI برای شما ایجاد میکند. در کنسول، پایگاه داده Firestore را بررسی کنید تا سوابق ایجاد شده در مورد فضایی که برنامه Chat را به آن اضافه کرده اید، کاربرانی که با آن تعامل داشته اند، و داستان کاربری که ایجاد کرده اید را مرور کنید.
به چت گوگل بازگردید.
- در صورت تمایل، برای ویرایش داستان، روی ویرایش کلیک کنید. وقتی از داستان راضی شدید، روی ذخیره کلیک کنید.
- هر دستور اسلش که توسط برنامه پشتیبانی می شود را تست کنید. برای دیدن آنها، تایپ کنید
/
یا برنامه Chat را ذکر کنید. - با صدور دستور اسلش
/cleanupUserStories
داستان کاربر آزمایشی را حذف کنید. یا، برنامه را حذف یا حذف نصب کنید . پس از حذف، برنامه تمام داستان های کاربر ایجاد شده در آن فضا را حذف می کند.
عیب یابی
وقتی یک برنامه یا کارت Google Chat خطایی را برمیگرداند، رابط Chat پیامی را نشان میدهد که میگوید «مشکلی پیش آمده است». یا "نمی توان به درخواست شما رسیدگی کرد." گاهی اوقات Chat UI هیچ پیام خطایی را نمایش نمی دهد، اما برنامه یا کارت Chat نتیجه غیرمنتظره ای ایجاد می کند. برای مثال، ممکن است پیام کارت ظاهر نشود.
اگرچه ممکن است پیام خطا در رابط کاربری گپ نمایش داده نشود، پیامهای خطای توصیفی و دادههای گزارش در دسترس هستند تا به شما کمک کنند هنگام فعال بودن ثبت خطا برای برنامههای گپ، خطاها را برطرف کنید. برای راهنمایی برای مشاهده، اشکالزدایی و رفع خطاها، به عیبیابی و رفع خطاهای Google Chat مراجعه کنید.
پاک کن
برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می کنیم پروژه Cloud را حذف کنید.
- در کنسول Google Cloud، به صفحه مدیریت منابع بروید. IAM & Admin > Manage Resources کلیک کنید. >
- در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
- در گفتگو، ID پروژه را تایپ کنید و سپس بر روی Shut down کلیک کنید تا پروژه حذف شود.
موضوعات مرتبط
- با برنامه Gemini AI Chat به سؤالات بر اساس مکالمات چت پاسخ دهید
- با Google Chat، Vertex AI و Apps Script به حوادث پاسخ دهید