أدِر المشاريع باستخدام Google Chat وVertex AI وFirestore

يوضّح هذا البرنامج التعليمي كيفية إنشاء تطبيق Google Chat يمكن للفريق استخدامه لإدارة المشاريع في الوقت الفعلي. يستخدم تطبيق Chat Vertex AI لمساعدة الفِرق في كتابة قصص المستخدمين (التي تمثّل ميزات نظام برمجي من وجهة نظر المستخدم ليطوّرها الفريق)، ويخزّن القصص في قاعدة بيانات Firestore.

  • سيؤدي ذكر تطبيق إدارة المشروعات إلى مطالبة التطبيق بتقديم المساعدة.
    الشكل 1. يناقش "علي" تطوير الميزات في مساحة Chat مع فريقه. عند الإشارة إلى تطبيق Chat لإدارة المشاريع، سيطلب منك تطبيق Chat المساعدة.
  • استخدام الأمر الذي يبدأ بشرطة مائلة /createUserStory لإنشاء قصة
    الشكل 2. باستخدام الأمر /createUserStory الذي يبدأ بشرطة مائلة، ينشئ "شارلي" قصة.
  • يستخدم تطبيق Chat لإدارة المشاريع Vertex AI لكتابة وصف القصة.
    الشكل 3. يستخدم تطبيق Chat لإدارة المشاريع Vertex AI لكتابة وصف القصة، ثم يشارك القصة في المساحة.
  • يضع "تشارلي" اللمسات الأخيرة على تفاصيل القصة.
    الشكل 4: ينقر "علي" على تعديل لوضع اللمسات الأخيرة على تفاصيل القصة. الوصف من الذكاء الاصطناعي دقيق، لكنّ "شارلي" يريد المزيد من التفاصيل، لذا ينقر على توسيع ليضيف Vertex AI متطلبات إلى وصف القصة. يُعيّن "شارلي" القصة لنفسه، ويضبط الحالة على "بدأ"، ويختار الأولوية والحجم المناسبَين، ثم ينقر على حفظ.
  • إدارة جميع قصص المستخدمين الخاصة بالفريق
    الشكل 5. في أي وقت، يمكن لـ "علي" الاطّلاع على جميع قصص المستخدمين الخاصة بالفريق وإدارتها باستخدام الأمر /manageUserStories/‎
    .

المتطلبات الأساسية

الأهداف

  • إنشاء تطبيق Chat يدير مشاريع البرامج السريعة.
  • مساعدة المستخدمين في كتابة قصص المستخدمين باستخدام أدوات كتابة القصص المستندة إلى الذكاء الاصطناعي التوليدي من خلال Vertex AI:
    • إنشاء أوصاف للقصص وإعادة إنشائها
    • توسيع أوصاف القصص من الملاحظات إلى المتطلبات الكاملة
    • تصحيح الأخطاء النحوية لتصحيح الأخطاء الإملائية
  • يمكنك إبقاء عملك محدّثًا من خلال الكتابة إلى قاعدة بيانات Firestore والقراءة منها.
  • تسهيل التعاون في مساحة Chat من خلال السماح للمستخدمين بإنشاء قصص وتعديلها وتعيينها وبدءها مباشرةً من المحادثة

المنتجات المستخدَمة

يستخدم تطبيق إدارة المشاريع منتجات Google Workspace وGoogle Cloud التالية:

  • واجهة برمجة تطبيقات Chat: هي واجهة برمجة تطبيقات لتطوير تطبيقات Google Chat التي تتلقّى أحداث التفاعل في Chat، مثل الرسائل، وتستجيب لها. يستخدم تطبيق إدارة المشاريع على Google Chat واجهة برمجة التطبيقات Chat API لتلقّي أحداث التفاعل التي يرسلها Chat والردّ عليها، ولضبط السمات التي تحدّد طريقة ظهوره في Chat، مثل الاسم وصورة الأفاتار.
  • واجهة برمجة التطبيقات Vertex AI API: هي منصة للذكاء الاصطناعي التوليدي. يستخدم تطبيق إدارة المشاريع على Google Chat واجهة برمجة التطبيقات Vertex AI API لكتابة عناوين وأوصاف لقصص المستخدمين.
  • Firestore: قاعدة بيانات مستندات بدون خادم يستخدم تطبيق Google Chat لإدارة المشاريع Firebase لتخزين البيانات حول قصص المستخدمين.
  • Cloud Functions: هي خدمة حوسبة خفيفة الوزن بدون خادم تتيح لك إنشاء وظائف مستقلة ذات غرض واحد يمكنها الاستجابة لأحداث التفاعل مع Chat بدون الحاجة إلى إدارة خادم أو بيئة وقت تشغيل. يستخدم تطبيق إدارة المشاريع في Google Chat خدمة Cloud Functions لاستضافة نقطة نهاية HTTP التي يرسل إليها Chat أحداث التفاعل، كما يستخدمها كمنصة حوسبة لتنفيذ منطق يعالج هذه الأحداث ويستجيب لها.

    تستخدِم Cloud Functions منتجات Google Cloud التالية لإنشاء أحداث التفاعل ومعالجتها واستضافة موارد الحوسبة:

    • ‫Cloud Build: منصّة مُدارة بالكامل للتكامل والتسليم والنشر المستمر، تنفّذ عمليات إنشاء تلقائية.
    • Pub/Sub: هي خدمة مراسلة غير متزامنة وقابلة للتوسّع تفصل الخدمات التي تنتج الرسائل عن الخدمات التي تعالجها.
    • واجهة برمجة التطبيقات الخاصة بمشرف Cloud Run: بيئة مُدارة بالكامل لتشغيل التطبيقات ضِمن الحاويات.

الهندسة المعمارية

تتلقّى بنية تطبيق إدارة المشاريع في Google Chat أحداث التفاعل في Chat وتعالجها عند نقطة نهاية HTTP، وتستخدم Vertex AI للمساعدة في كتابة قصص المستخدمين، وتخزّن تفاصيل قصص المستخدمين في قاعدة بيانات Firestore. يوضّح الرسم البياني التالي بنية موارد Google Workspace وGoogle Cloud المستخدَمة.

مخطط البنية لتطبيق إدارة المشاريع في Google Chat

يعمل تطبيق إدارة المشاريع في Google Chat على النحو التالي:

  1. يرسل مستخدم رسالة في Chat ويستدعي تطبيق إدارة المشاريع في Google Chat من خلال إرسال رسالة مباشرة إليه أو الإشارة إليه في مساحة أو إدخال أمر يبدأ بشرطة مائلة.

  2. يرسل Chat طلب HTTP متزامنًا إلى نقطة نهاية HTTP في Cloud Function.

  3. يعالج تطبيق إدارة المشاريع في Google Chat طلب HTTP على النحو التالي:

    1. تساعد Vertex AI في كتابة أو تعديل قصة مستخدم.

    2. تخزِّن قاعدة بيانات Firestore بيانات قصص المستخدمين أو تسترجعها أو تعدّلها أو تحذفها.

  4. تعرض Cloud Functions ردّ HTTP على Chat، والذي يعرضه للمستخدم كرسالة أو مربّع حوار.

إعداد البيئة

يوضّح هذا القسم كيفية إنشاء مشروع في Google Cloud وإعداده لتطبيق Chat.

إنشاء مشروع على Google Cloud

Google Cloud Console

  1. في Google Cloud Console، انتقِل إلى "القائمة" > المشرف وإدارة الهوية وإمكانية الوصول > إنشاء مشروع.

    الانتقال إلى "إنشاء مشروع"

  2. في حقل اسم المشروع، أدخِل اسمًا وصفيًا لمشروعك.

    اختياري: لتعديل رقم تعريف المشروع، انقر على تعديل. لا يمكن تغيير رقم تعريف المشروع بعد إنشائه، لذا اختَر رقم تعريف يلبي احتياجاتك طوال مدة المشروع.

  3. في حقل الموقع الجغرافي، انقر على تصفّح لعرض المواقع الجغرافية المحتملة لمشروعك. بعد ذلك، انقر على اختيار.
  4. انقر على إنشاء. تنتقل وحدة تحكّم Google Cloud إلى صفحة "لوحة البيانات" ويتم إنشاء مشروعك في غضون بضع دقائق.

gcloud CLI

في إحدى بيئات التطوير التالية، يمكنك الوصول إلى واجهة سطر الأوامر (CLI) في Google Cloud (gcloud):

  • Cloud Shell: لتفعيل Cloud Shell واستخدام وحدة طرفية على الإنترنت مع إعداد gcloud CLI مسبقًا
    تفعيل Cloud Shell
  • Local Shell: لاستخدام بيئة تطوير على الجهاز، عليك تثبيت وإعداد gcloud CLI.
    لإنشاء مشروع على Google Cloud، استخدِم الأمر gcloud projects create:
    gcloud projects create PROJECT_ID
    استبدِل PROJECT_ID بضبط رقم تعريف المشروع الذي تريد إنشاءه.

تفعيل الفوترة لمشروع Cloud

Google Cloud Console

  1. في Google Cloud Console، انتقِل إلى الفوترة. انقر على القائمة > الفوترة > مشاريعي.

    الانتقال إلى "الفوترة لمشاريعي"

  2. في اختيار مؤسسة، اختَر المؤسسة المرتبطة بمشروعك على Google Cloud.
  3. في صف المشروع، افتح قائمة الإجراءات ()، وانقر على تغيير الفوترة، ثم اختَر حساب Cloud Billing.
  4. انقر على ضبط الحساب.

gcloud CLI

  1. لعرض قائمة بحسابات الفوترة المتاحة، نفِّذ الأمر التالي:
    gcloud billing accounts list
  2. ربط حساب فوترة بمشروع على Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    غيِّر القيم في السلسلة على الشكل التالي:

    • PROJECT_ID هو معرّف المشروع الخاص بالمشروع على السحابة الإلكترونية الذي تريد تفعيل الفوترة فيه.
    • BILLING_ACCOUNT_ID هو معرّف حساب الفوترة الذي سيتم ربطه بمشروع Google Cloud.

تفعيل واجهات برمجة التطبيقات

Google Cloud Console

  1. في Google Cloud Console، فعِّل واجهة Google Chat API وواجهة Vertex AI API وواجهة Cloud Functions API وواجهة Firestore API وواجهة Cloud Build API وواجهة Pub/Sub API وواجهة Cloud Run Admin API.

    تفعيل واجهات برمجة التطبيقات

  2. تأكَّد من أنّك بصدد تفعيل واجهات برمجة التطبيقات في مشروع Cloud الصحيح، ثم انقر على التالي.

  3. تأكَّد من تفعيل واجهات برمجة التطبيقات الصحيحة، ثم انقر على تفعيل.

gcloud CLI

  1. إذا لزم الأمر، اضبط مشروع Cloud الحالي على المشروع الذي أنشأته باستخدام الأمر gcloud config set project:

    gcloud config set project 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

    تُعدّ واجهات برمجة التطبيقات Admin API في Cloud Build وPub/Sub وCloud Run من المتطلبات الأساسية لاستخدام Cloud Functions.

المصادقة والتفويض

لا يلزم ضبط أي إعدادات للمصادقة والتفويض من أجل اتّباع هذا البرنامج التعليمي.

لاستدعاء واجهات برمجة التطبيقات Firestore وVertex AI، يستخدم هذا البرنامج التعليمي بيانات الاعتماد التلقائية للتطبيق مع حساب الخدمة التلقائي المرفق بـ Cloud Function، ولا تحتاج إلى إعداد أي منهما. في سياق بيئة إنتاج، يمكنك عادةً إنشاء وربط حساب خدمة بـ Cloud Function بدلاً من ذلك.

إنشاء تطبيق Google Chat ونشره

بعد إنشاء مشروعك على Google Cloud وإعداده، ستكون مستعدًا لإنشاء تطبيق Google Chat ونشره. في هذا القسم، عليك تنفيذ ما يلي:

  1. أنشئ قاعدة بيانات Firestore لتخزين قصص المستخدمين واسترجاعها.
  2. يمكنك مراجعة نموذج التعليمات البرمجية اختياريًا.
  3. أنشئ Cloud Function لاستضافة رمز تطبيق Chat وتشغيله استجابةً للأحداث التي يتم تلقّيها من Chat كطلبات HTTP.
  4. إنشاء تطبيق Google Chat ونشره على صفحة إعدادات Google Chat API

إنشاء قاعدة بيانات Firestore

في هذا القسم، ستنشئ قاعدة بيانات Firestore لتخزين واسترداد قصص المستخدمين، ولكن لن تحدّد نموذج البيانات. يتم ضبط نموذج البيانات ضمنيًا في نموذج الرمز من خلال الملفَين model/user-story.js وmodel/user.js.

تستخدم قاعدة بيانات تطبيق Chat لإدارة المشاريع نموذج بيانات NoSQL يستند إلى المستندات المنظَّمة في مجموعات. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج بيانات Firestore.

يوضّح المخطّط التالي نظرة عامة على نموذج بيانات تطبيق إدارة المشاريع في Google Chat:

نموذج بيانات قاعدة بيانات Firestore

المجموعة الجذرية هي spaces، حيث يمثّل كل مستند مساحة أنشأ فيها تطبيق Chat قصصًا. يتم تمثيل كل قصة مستخدم بمستند في المجموعة الفرعية userStories، ويتم تمثيل كل مستخدم بمستند في المجموعة الفرعية users.

عرض تعريفات المجموعات والمستندات والحقول

spaces

المساحات التي أنشأ فيها تطبيق Chat قصصًا

الحقول
Document IDString
المعرّف الفريد لمساحة معيّنة يتم فيها إنشاء القصص. يتوافق مع اسم مورد المساحة في Chat API.
userStoriesSubcollection of Documents (userStories)
القصص التي أنشأها تطبيق Chat ومستخدموه يتوافق مع Document ID userStories في Firebase.
usersSubcollection of Documents (user)
المستخدمون الذين أنشأوا قصصًا أو تم تعيين قصص لهم
displayNameString
الاسم المعروض للمساحة في Chat API. لم يتم ضبطها للرسائل المباشرة مع المستخدمين.

userStories

القصص التي أنشأها تطبيق Chat ومستخدموه

الحقول
Document IDString
المعرّف الفريد لقصة مستخدم معيّنة أنشأها تطبيق Chat ومستخدموه
assigneeDocument (user)
اسم المرجع الخاص بالمستخدم الذي تم تعيينه لإكمال القصة. يتوافق مع Document ID في مستند users ومع اسم مصدر المستخدم في Chat API.
descriptionString
وصف لميزة البرنامج من وجهة نظر المستخدم
priorityEnum
مدى إلحاح إكمال العمل القيم المحتمَلة هي Low أو Medium أو High.
sizeEnum
مقدار العمل القيم المحتمَلة هي Small أو Medium أو Large.
statusEnum
مرحلة العمل: القيم المحتمَلة هي OPEN أو STARTED أو COMPLETED.
titleString
تمثّل هذه السمة عنوان القصة، أي ملخّصًا موجزًا لها.

users

المستخدمون الذين أنشأوا قصصًا أو تم تعيين قصص لهم

الحقول
Document IDString
المعرّف الفريد لمستخدم معيّن. يتوافق مع assignee userStories في Firebase، ومع اسم مصدر المستخدم في Chat API.
avatarUrlString
عنوان URL الذي يستضيف صورة الأفاتار الخاصة بالمستخدم في Chat
displayNameString
الاسم المعروض للمستخدم في Chat

إليك كيفية إنشاء قاعدة بيانات Firestore:

Google Cloud Console

  1. في Google Cloud Console، انتقِل إلى Firestore. انقر على القائمة > Firestore.

    الانتقال إلى Firestore

  2. انقر على إنشاء قاعدة بيانات.

  3. من اختيار وضع Firestore، انقر على الوضع الأصلي.

  4. انقر على متابعة.

  5. اضبط إعدادات قاعدة البيانات:

    1. في تسمية قاعدة البيانات، اترك معرّف قاعدة البيانات على (default).

    2. في نوع الموقع الجغرافي، حدِّد منطقة لقاعدة البيانات، مثل us-central1. للحصول على أفضل أداء، اختَر الموقع الجغرافي نفسه أو موقعًا جغرافيًا قريبًا من الموقع الجغرافي الذي تستخدمه Cloud Function في تطبيق Chat.

  6. انقر على إنشاء قاعدة بيانات.

gcloud CLI

  • أنشئ قاعدة بيانات Firestore في "الوضع الأصلي" باستخدام الأمر gcloud firestore databases create:

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

    استبدِل LOCATION باسم منطقة Firestore، مثل us-central1.

مراجعة نموذج الرمز البرمجي

اختياريًا، قبل إنشاء Cloud Function، خصِّص بعض الوقت لمراجعة نموذج الرمز البرمجي المستضاف على GitHub والتعرّف عليه.

عرض على GitHub

في ما يلي نظرة عامة على كل ملف:

env.js
متغيّرات إعدادات البيئة لنشر تطبيق Chat في مشروع ومنطقة محدّدين على Google Cloud يجب تعديل متغيرات الإعداد في هذا الملف.
package.json وpackage-lock.json
إعدادات مشروع Node.js والتبعيات
index.js
نقطة الدخول إلى دالة السحابة الإلكترونية لتطبيق Chat يقرأ هذا البرنامج حدث الدردشة من طلب HTTP، ويستدعي معالج التطبيق، وينشر استجابة HTTP كعنصر JSON.
controllers/app.js
منطق التطبيق الرئيسي تعالج هذه الخدمة أحداث التفاعل من خلال التعامل مع الإشارات إلى تطبيق Chat والأوامر التي تبدأ بشرطة مائلة. للردّ على النقرات على البطاقات، يتم استدعاء app-action-handler.js.
controllers/app-action-handler.js
منطق التطبيق للتعامل مع النقرات على البطاقات أحداث التفاعل في المحادثة.
services/space-service.js وservices/user-service.js وservices/user-story-service.js
تحتوي هذه الملفات على أجزاء من منطق التطبيق الخاص بالعمل مع مساحات Chat والمستخدمين وقصص المستخدمين. يتم استدعاء الدوال في هذه الملفات من خلال app.js أو app-action-handler.js. لتنفيذ عمليات قاعدة البيانات، تستدعي الدوال في هذه الملفات دوالاً في firestore-service.js.
services/firestore-service.js
تتعامل مع عمليات قاعدة البيانات. يتم استدعاء الدوال في هذا الملف من خلال services/space-service.js وservices/user-service.js وservices/user-story-service.js.
services/aip-service.js
يطلب من واجهة برمجة التطبيقات Vertex AI API توقّع النصوص المستنِدة إلى الذكاء الاصطناعي التوليدي.
model/*.js
تحتوي هذه الملفات على تعريف الفئات والتعدادات التي تستخدمها خدمات التطبيق لتخزين البيانات ونقلها بين الدوال. تحدّد هذه القواعد نموذج البيانات لقاعدة بيانات Firestore.
views/*.js
ينشئ كل ملف في هذا الدليل عنصر بطاقة يرسله تطبيق Chat مرة أخرى إلى Chat كـ رسالة بطاقة أو ردّ على إجراء حوار.
views/widgets/*.js
ينشئ كل ملف مثيلاً لنوع من عناصر واجهة المستخدم التي يستخدمها التطبيق لإنشاء البطاقات في الدليل views/.
test/**/*.test.js
يحتوي كل ملف في هذا الدليل وأدلته الفرعية على اختبارات الوحدات للوظيفة أو وحدة التحكّم أو الخدمة أو العرض أو الأداة المقابلة. يمكنك تنفيذ جميع اختبارات الوحدات عن طريق تشغيل npm run test أثناء تواجدك في الدليل الجذر للمشروع.

إنشاء دالة Cloud ونشرها

في هذا القسم، ستنشئ دالة Cloud Function وتنشرها، وهي تتضمّن منطق تطبيق Chat لإدارة المشاريع.

يتم تشغيل Cloud Function استجابةً لطلب HTTP من Chat يتضمّن حدث تفاعل في Chat. عند تشغيل رمز Cloud Function، تتم معالجة الحدث ويتم عرض ردّ في Chat على شكل رسالة أو مربّع حوار أو نوع آخر من تفاعلات المستخدمين. إذا كان ذلك منطبقًا، تقرأ Cloud Function أيضًا من قاعدة بيانات Firestore أو تكتب فيها.

إليك كيفية إنشاء Cloud Function:

Google Cloud Console

  1. نزِّل الرمز البرمجي من GitHub كملف zip.

    تنزيل ملف zip

  2. استخرِج ملف ZIP الذي تم تنزيله.

    يحتوي المجلد الذي تم استخراجه على مستودع نماذج Google Workspace بالكامل.

  3. في المجلد الذي تم استخراجه، انتقِل إلى google-chat-samples-main/node/project-management-app/، ثم اضغط المجلد project-management-app في ملف zip.

    يجب أن يحتوي الدليل الجذر لملف ZIP على الملفات والمجلدات التالية:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. في Google Cloud Console، انتقِل إلى صفحة Cloud Functions:

    الانتقال إلى Cloud Functions

    تأكَّد من اختيار مشروع Google Cloud لتطبيق Chat.

  5. انقر على إنشاء دالة.

  6. في صفحة إنشاء دالة، اضبط الدالة على النحو التالي:

    1. في البيئة، اختَر وظيفة Cloud Run.
    2. في حقل اسم الدالة، أدخِل project-management-tutorial.
    3. في المنطقة، اختَر منطقة.
    4. ضمن المصادقة، اختَر السماح بعمليات الاستدعاء غير المصادَق عليها.
    5. انقر على التالي.
  7. في وقت التشغيل، اختَر Node.js 20.

  8. في نقطة الدخول، احذف النص التلقائي وأدخِل projectManagementChatApp.

  9. في رمز المصدر، اختَر تحميل ملف مضغوط.

  10. في حزمة الوجهة، أنشئ حزمة أو اختَر حزمة:

    1. انقروا على تصفّح.
    2. اختَر مجموعة.
    3. انقر على اختيار.

    تحمّل Google Cloud ملف ZIP إلى هذه الحزمة وتستخرج الملفات المكوّنة له. بعد ذلك، تنسخ Cloud Functions ملفات المكوّن إلى Cloud Function.

  11. في ملف ZIP، حمِّل ملف ZIP الذي نزّلته من GitHub واستخرجته وأعدت ضغطه:

    1. انقروا على تصفّح.
    2. انتقِل إلى ملف ZIP واختَره.
    3. انقر على فتح.
  12. انقر على نشر.

    تُفتح صفحة تفاصيل Cloud Functions، وتظهر الدالة مع مؤشّرَين لمستوى التقدّم: أحدهما خاص بالإنشاء والآخر خاص بالخدمة. عندما يختفي مؤشّرا التقدّم ويتم استبدالهما بعلامة اختيار، تكون الدالة قد تم نشرها وأصبحت جاهزة.

  13. عدِّل الرمز النموذجي لضبط الثوابت:

    1. في صفحة تفاصيل Cloud Function، انقر على تعديل.
    2. انقر على التالي.
    3. في رمز المصدر، اختَر المحرّر المضمّن.
    4. في المحرِّر المضمّن، افتح الملف env.js.
    5. استبدِل project-id برقم تعريف مشروعك على Cloud.
    6. اختياري: عدِّل us-central1 باستخدام موقع جغرافي متوافق لوظيفة Cloud Function.
  14. انقر على نشر.

  15. عند انتهاء عملية نشر الدالة، انسخ عنوان URL الخاص بالمشغّل:

    1. في صفحة تفاصيل الدالة، انقر على المشغّل.
    2. يجب نسخ عنوان URL. ستحتاج إلى هذا المعرّف لإعداد تطبيق Chat في القسم التالي.

gcloud CLI

  1. استنسِخ الرمز من GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
  2. بدِّل إلى الدليل الذي يتضمّن الرمز البرمجي لتطبيق Chat الخاص بإدارة المشاريع:

    cd google-chat-samples/node/project-management-app
  3. عدِّل ملف env.js لضبط متغيرات البيئة:

    1. استبدِل project-id برقم تعريف مشروعك على Google Cloud.
    2. استبدِل us-central1 بموقع مشروعك على Google Cloud.
  4. نشر وظيفة Cloud Function على Google Cloud:

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

    استبدِل REGION بموقع جغرافي لوظيفة Cloud حيث تتم استضافة البنية الأساسية، مثل us-central1.

  1. عند انتهاء عملية نشر الدالة، انسخ السمة url من الرد. هذا هو عنوان URL الخاص بالمشغّل الذي تستخدمه في القسم التالي لإعداد تطبيق Google Chat.

ضبط تطبيق Google Chat في Google Cloud Console

يوضّح هذا القسم كيفية ضبط إعدادات Chat API في وحدة تحكّم Google Cloud باستخدام معلومات حول تطبيق Chat، بما في ذلك اسم تطبيق Chat والأوامر التي تتضمّن شرطة مائلة والتي يمكن استخدامها وعنوان URL الخاص بمشغّل Cloud Function الذي يرسل إليه تطبيق Chat أحداث التفاعل.

  1. في Google Cloud Console، انقر على القائمة > المزيد من المنتجات > 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. ضمن الوظائف، اختَر الانضمام إلى المساحات والمحادثات الجماعية.

  7. ضمن إعدادات الاتصال، اختَر عنوان URL لنقطة نهاية HTTP.

  8. في عنوان URL لنقطة نهاية HTTP، الصِق عنوان URL الخاص بالمشغّل الذي نسخته من عملية نشر Cloud Functions، بتنسيق https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial. إذا نشرت "وظيفة السحابة الإلكترونية" باستخدام gcloud CLI، سيكون هذا هو الخاصية url.

  9. تسجيل الأوامر التي تبدأ بشرطة مائلة في تطبيق Chat لتسجيل أمر يبدأ بشرطة مائلة، اتّبِع الخطوات التالية:

    1. ضمن الأوامر، انقر على إضافة أمر.
    2. بالنسبة إلى كل أمر شرطة مائلة مفصّل في الجدول التالي، أدخِل الاسم ومعرّف الأمر والوصف، وحدِّد ما إذا كان أمر الشرطة المائلة يفتح مربّع حوار، ثم انقر على تم:

      الاسم معرّف الأمر الوصف نوع الأمر اسم الأمر الذي يبدأ بشرطة مائلة يفتح مربّع حوار
      إنشاء قصة مستخدم 1 إنشاء قصة بالعنوان المحدّد أمر يبدأ بشرطة مائلة /createUserStory تم إلغاء اختياره
      قصص المستخدم 2 تعرض هذه السمة جميع القصص التي تم تعيينها للمستخدم. أمر يبدأ بشرطة مائلة /myUserStories تم إلغاء اختياره
      قصة المستخدم 3 تعرِض هذه السمة الحالة الحالية للقصة المحدّدة. أمر يبدأ بشرطة مائلة /userStory تم إلغاء اختياره
      إدارة قصص المستخدمين 4 يفتح مربّع حوار يمكن فيه تعديل القصص. أمر يبدأ بشرطة مائلة /manageUserStories تم وضع علامة
      تنظيف قصص المستخدم 5 لحذف كل الأخبار في المساحة أمر يبدأ بشرطة مائلة /cleanupUserStories تم إلغاء اختياره
  10. ضمن مستوى الرؤية، اختَر إتاحة تطبيق Chat هذا لأشخاص ومجموعات معيّنة في نطاق Workspace وأدخِل عنوان بريدك الإلكتروني.

  11. اختياريًا، ضمن السجلات، اختَر تسجيل الأخطاء في خدمة "التسجيل".

  12. انقر على حفظ. ستظهر رسالة تفيد بأنّه تم حفظ الإعدادات، ما يعني أنّ تطبيق Chat جاهز للاختبار.

اختبار تطبيق Chat

اختبِر تطبيق إدارة المشاريع في Chat من خلال مراسلته واستخدام أوامر الشرطة المائلة لإنشاء قصص المستخدمين وتعديلها وحذفها.

  1. افتح Google Chat باستخدام حساب Google Workspace الذي قدّمته عند إضافة نفسك كمختبِر موثوق به.

    الانتقال إلى Google Chat

  2. انقر على محادثة جديدة.
  3. في حقل إضافة مستخدم واحد أو أكثر، اكتب اسم تطبيق Chat.
  4. اختَر تطبيق Chat من النتائج. سيتم فتح رسالة مباشرة.

  5. في الرسالة المباشرة الجديدة مع التطبيق، اكتب Hello واضغط على enter. يستجيب تطبيق Chat لإدارة المشاريع بعرض قائمة مساعدة توضّح ما يمكنه فعله.
  6. لإنشاء قصة، اكتب /createUserStory Test story في شريط الرسائل وأرسِلها. يستجيب تطبيق Chat لإدارة المشاريع برسالة على شكل بطاقة تتضمّن تفاصيل حول قصة المستخدم التي ينشئها لك باستخدام الذكاء الاصطناعي التوليدي من Vertex AI.
  7. في وحدة التحكّم، راجِع قاعدة بيانات Firestore للاطّلاع على السجلات التي أنشأتها بشأن المساحة التي أضفت إليها تطبيق Chat والمستخدمين الذين تفاعلوا معها وقصة المستخدم التي أنشأتها.

    الانتقال إلى Firestore

  8. الرجوع إلى Google Chat

    الانتقال إلى Google Chat

  9. يمكنك النقر على تعديل لتعديل القصة. عندما تكون راضيًا عن القصة، انقر على حفظ.
  10. اختبِر كل أمر من أوامر الشرطة المائلة التي يتيحها التطبيق. وللاطّلاع عليها، اكتب / أو أشر إلى تطبيق Chat.
  11. احذف قصة المستخدم التجريبية عن طريق إصدار الأمر /cleanupUserStories slash. بدلاً من ذلك، يمكنك إزالة التطبيق أو إلغاء تثبيته. وعند إزالته، يحذف التطبيق جميع قصص المستخدمين التي تم إنشاؤها في تلك المساحة.

تحديد المشاكل وحلّها

عندما يعرض تطبيق أو بطاقة في Google Chat خطأً، تعرض واجهة Chat رسالة تفيد بأنّه "حدث خطأ". أو "لم نتمكّن من معالجة طلبك". في بعض الأحيان، لا تعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن ينتج تطبيق Chat أو البطاقة نتيجة غير متوقّعة، مثلاً، قد لا تظهر رسالة البطاقة.

على الرغم من أنّه قد لا تظهر رسالة خطأ في واجهة مستخدم Chat، تتوفّر رسائل خطأ وصفية وبيانات سجلّات لمساعدتك في إصلاح الأخطاء عند تفعيل تسجيل الأخطاء لتطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتحديد المشاكل فيها، يُرجى الاطّلاع على تحديد مشاكل Google Chat وحلّها.

تَنظيم

لتجنُّب تحمّل رسوم في حسابك على Google Cloud مقابل الموارد المستخدَمة في هذا البرنامج التعليمي، ننصحك بحذف مشروع Cloud.

  1. في Google Cloud Console، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.

    الانتقال إلى "إدارة الموارد"

  2. في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
  3. في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.