Google Chat, Vertex AI, और Firestore की मदद से प्रोजेक्ट मैनेज करें

इस ट्यूटोरियल में, Google Chat का ऐसा ऐप्लिकेशन बनाने का तरीका बताया गया है जिसका इस्तेमाल करके टीम, रीयल टाइम में प्रोजेक्ट मैनेज कर सकती है. Chat ऐप्लिकेशन, Vertex AI का इस्तेमाल करके टीमों को उपयोगकर्ता की कहानियां लिखने में मदद करता है. ये कहानियां, किसी सॉफ़्टवेयर सिस्टम की सुविधाओं को उपयोगकर्ता के नज़रिए से दिखाती हैं, ताकि टीम उन्हें डेवलप कर सके. साथ ही, ये कहानियां Firestore डेटाबेस में सेव की जाती हैं.

  • प्रोजेक्ट मैनेज करने वाले ऐप्लिकेशन का नाम बताने पर, वह आपको मदद करने के लिए कहता है.
    पहली इमेज. चार्ली, अपनी टीम के साथ Chat स्पेस में किसी सुविधा के डेवलपमेंट के बारे में बातचीत कर रही हैं. प्रोजेक्ट मैनेजमेंट के लिए इस्तेमाल किए जाने वाले Chat ऐप्लिकेशन का नाम बताने पर, Chat ऐप्लिकेशन मदद करने के लिए कहता है.
  • स्टोरी बनाने के लिए, /createUserStory स्लैश कमांड का इस्तेमाल करना.
    दूसरी इमेज. /createUserStory स्लैश कमांड का इस्तेमाल करके, चार्ली एक स्टोरी बनाता है.
  • प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन, स्टोरी का ब्यौरा लिखने के लिए Vertex AI का इस्तेमाल करता है.
    तीसरी इमेज. प्रोजेक्ट मैनेजमेंट चैट ऐप्लिकेशन, कहानी का ब्यौरा लिखने के लिए Vertex AI का इस्तेमाल करता है. इसके बाद, वह कहानी को स्पेस में शेयर करता है.
  • चार्ली, कहानी की जानकारी को फ़ाइनल करता है.
    चौथी इमेज. कहानी की जानकारी को फ़ाइनल करने के लिए, चार्ली बदलाव करें पर क्लिक करती हैं. एआई की दी गई जानकारी सटीक है, लेकिन चार्ली को ज़्यादा जानकारी चाहिए. इसलिए, वह बड़ा करें पर क्लिक करती है, ताकि Vertex AI, कहानी के ब्यौरे में ज़रूरी शर्तें जोड़ सके. चार्ली, स्टोरी को खुद को असाइन करती हैं. साथ ही, इसकी स्थिति को 'शुरू किया गया' पर सेट करती हैं. इसके बाद, वे स्टोरी के लिए सही प्राथमिकता और साइज़ चुनती हैं और सेव करें पर क्लिक करती हैं.
  • टीम की सभी उपयोगकर्ता कहानियों को मैनेज करना.
    पांचवीं इमेज. /manageUserStoriesस्लैश कमांड
    की मदद से, चार्ली कभी भी टीम की सभी यूज़र स्टोरी देख सकता है और उन्हें मैनेज कर सकता है.

ज़रूरी शर्तें

मकसद

  • एक ऐसा Chat ऐप्लिकेशन बनाएं जो एजाइल सॉफ़्टवेयर प्रोजेक्ट मैनेज करता हो.
  • उपयोगकर्ताओं को कहानियां लिखने में मदद करने के लिए, Vertex AI के साथ काम करने वाले जनरेटिव एआई की मदद से स्टोरी लिखने वाले टूल इस्तेमाल करें:
    • स्टोरी की जानकारी जनरेट करना और फिर से जनरेट करना.
    • ज़रूरी शर्तें पूरी करने के लिए, नोट से कहानी के ब्यौरे को बड़ा करें.
    • टाइपिंग की गड़बड़ियों को ठीक करने के लिए, व्याकरण में सुधार करें.
  • काम को अप-टू-डेट रखने के लिए, Firestore डेटाबेस को लिखें और उससे पढ़ें.
  • उपयोगकर्ताओं को चैट स्पेस में साथ मिलकर काम करने की सुविधा दें. इसके लिए, उन्हें सीधे बातचीत से ही खबरें बनाने, उनमें बदलाव करने, उन्हें असाइन करने, और शुरू करने की अनुमति दें.

इस्तेमाल किए गए प्रॉडक्ट

प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन में, Google Workspace और Google Cloud के इन प्रॉडक्ट का इस्तेमाल किया जाता है:

  • Chat API: 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 का इस्तेमाल करके एचटीटीपी एंडपॉइंट को होस्ट करता है. Chat, इंटरैक्शन इवेंट को इसी एंडपॉइंट पर भेजता है. साथ ही, यह ऐप्लिकेशन Cloud Functions को कंप्यूट प्लैटफ़ॉर्म के तौर पर इस्तेमाल करता है, ताकि इन इवेंट को प्रोसेस करने और उनका जवाब देने वाला लॉजिक चलाया जा सके.

    Cloud Functions, इंटरैक्शन इवेंट बनाने, प्रोसेस करने, और कंप्यूट संसाधनों को होस्ट करने के लिए, Google Cloud के इन प्रॉडक्ट का इस्तेमाल करता है:

    • Cloud Build: यह एक ऐसा प्लैटफ़ॉर्म है जिस पर लगातार इंटिग्रेशन, डिलीवरी, और डिप्लॉयमेंट की सुविधा मिलती है. इसे पूरी तरह से मैनेज किया जाता है. साथ ही, यह ऑटोमेटेड बिल्ड चलाता है.
    • Pub/Sub: यह एक ऐसी मैसेज सेवा है जो एसिंक्रोनस (एक साथ काम न करने वाली) और स्केलेबल (ज़रूरत के हिसाब से बढ़ाने या घटाने की सुविधा वाली) होती है. यह उन सेवाओं को अलग करती है जो मैसेज जनरेट करती हैं और उन सेवाओं से जो मैसेज प्रोसेस करती हैं.
    • Cloud Run Admin API: कंटेनर में ऐप्लिकेशन चलाने के लिए, पूरी तरह से मैनेज किया गया एनवायरमेंट.

आर्किटेक्चर

प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन के आर्किटेक्चर में, एचटीटीपी एंडपॉइंट पर Chat इंटरैक्शन इवेंट मिलते हैं और उन्हें प्रोसेस किया जाता है. साथ ही, उपयोगकर्ता की कहानियां लिखने में मदद करने के लिए Vertex AI का इस्तेमाल किया जाता है. साथ ही, उपयोगकर्ता की कहानी की जानकारी को Firestore डेटाबेस में सेव किया जाता है. यहां दिए गए डायग्राम में, इस्तेमाल किए गए Google Workspace और Google Cloud के संसाधनों का आर्किटेक्चर दिखाया गया है.

प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन के आर्किटेक्चर का डायग्राम

प्रोजेक्ट मैनेज करने के लिए इस्तेमाल किया जाने वाला Google Chat ऐप्लिकेशन इस तरह से काम करता है:

  1. कोई उपयोगकर्ता Chat में मैसेज भेजता है और प्रोजेक्ट मैनेजमेंट के लिए इस्तेमाल होने वाले Google Chat ऐप्लिकेशन को चालू करता है. इसके लिए, वह ऐप्लिकेशन को सीधे मैसेज भेजता है, स्पेस में उसका ज़िक्र करता है या स्लैश कमांड डालता है.

  2. Chat, Cloud फ़ंक्शन के एचटीटीपी एंडपॉइंट पर सिंक्रोनस एचटीटीपी अनुरोध भेजता है.

  3. प्रोजेक्ट मैनेज करने की सुविधा देने वाला Google Chat ऐप्लिकेशन, एचटीटीपी अनुरोध को प्रोसेस करता है:

    1. Vertex AI की मदद से, उपयोगकर्ता की स्टोरी लिखी जा सकती है या उसे अपडेट किया जा सकता है.

    2. Firestore डेटाबेस, उपयोगकर्ता की कहानी का डेटा सेव करता है, उसे वापस लाता है, अपडेट करता है या मिटाता है.

  4. Cloud Functions, चैट को एचटीटीपी रिस्पॉन्स दिखाता है जो उपयोगकर्ता को मैसेज या डायलॉग के तौर पर दिखाता है.

एनवायरमेंट तैयार करना

इस सेक्शन में, Chat ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट बनाने और उसे कॉन्फ़िगर करने का तरीका बताया गया है.

Google Cloud प्रोजेक्ट बनाना

Google Cloud कंसोल

  1. Google Cloud console में, मेन्यू > IAM और एडमिन > प्रोजेक्ट बनाएं पर जाएं.

    'प्रोजेक्ट बनाएं' पर जाएं

  2. प्रोजेक्ट का नाम फ़ील्ड में, अपने प्रोजेक्ट के लिए जानकारी देने वाला कोई नाम डालें.

    ज़रूरी नहीं: प्रोजेक्ट आईडी में बदलाव करने के लिए, बदलाव करें पर क्लिक करें. प्रोजेक्ट बनाने के बाद, उसका आईडी नहीं बदला जा सकता. इसलिए, ऐसा आईडी चुनें जो प्रोजेक्ट के पूरे जीवनकाल के लिए आपकी ज़रूरतों के मुताबिक हो.

  3. अपने प्रोजेक्ट के लिए संभावित जगहें दिखाने के लिए, जगह फ़ील्ड में, ब्राउज़ करें पर क्लिक करें. इसके बाद, चुनें पर क्लिक करें.
  4. बनाएं पर क्लिक करें. Google Cloud Console, डैशबोर्ड पेज पर ले जाता है और कुछ ही मिनटों में आपका प्रोजेक्ट बन जाता है.

gcloud सीएलआई

नीचे दिए गए डेवलपमेंट एनवायरमेंट में से किसी एक में, Google Cloud सीएलआई (gcloud) को ऐक्सेस करें:

  • Cloud Shell: पहले से सेट अप किए गए gcloud सीएलआई के साथ ऑनलाइन टर्मिनल का इस्तेमाल करने के लिए, Cloud Shell को चालू करें.
    Cloud Shell चालू करना
  • लोकल शेल: लोकल डेवलपमेंट एनवायरमेंट का इस्तेमाल करने के लिए, gcloud सीएलआई को इंस्टॉल करें और शुरू करें.
    Cloud प्रोजेक्ट बनाने के लिए, gcloud projects create कमांड का इस्तेमाल करें:
    gcloud projects create PROJECT_ID
    आपको जिस प्रोजेक्ट को बनाना है उसका आईडी सेट करके, PROJECT_ID की जगह पर उसे डालें.

Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करना

Google Cloud कंसोल

  1. Google Cloud Console में, बिलिंग पर जाएं. मेन्यू > बिलिंग > मेरे प्रोजेक्ट पर क्लिक करें.

    'मेरे प्रोजेक्ट' के लिए बिलिंग पेज पर जाना

  2. कोई संगठन चुनें में जाकर, अपने Google Cloud प्रोजेक्ट से जुड़ा संगठन चुनें.
  3. प्रोजेक्ट की लाइन में, कार्रवाइयां मेन्यू () खोलें. इसके बाद, बिलिंग बदलें पर क्लिक करें और Cloud Billing खाता चुनें.
  4. खाता सेट करें पर क्लिक करें.

gcloud सीएलआई

  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 कंसोल

  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. पुष्टि करें कि आपने सही क्लाउड प्रोजेक्ट में एपीआई चालू किए हैं. इसके बाद, आगे बढ़ें पर क्लिक करें.

  3. पुष्टि करें कि आपने सही एपीआई चालू किए हैं. इसके बाद, चालू करें पर क्लिक करें.

gcloud सीएलआई

  1. अगर ज़रूरी हो, तो मौजूदा Cloud प्रोजेक्ट को उस प्रोजेक्ट पर सेट करें जिसे आपने gcloud config set project कमांड का इस्तेमाल करके बनाया था:

    gcloud config set project PROJECT_ID

    PROJECT_ID की जगह, अपने बनाए गए Cloud प्रोजेक्ट का प्रोजेक्ट आईडी डालें.

  2. gcloud services enable कमांड का इस्तेमाल करके, Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, और Cloud Run एडमिन एपीआई को चालू करें:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    run.googleapis.com

    Cloud फ़ंक्शन के लिए Cloud Build, Pub/Sub, और Cloud Run Admin API ज़रूरी शर्तें हैं.

पुष्टि करना और अनुमति देना

इस ट्यूटोरियल को फ़ॉलो करने के लिए पुष्टि करने और अनुमति देने के कॉन्फ़िगरेशन की ज़रूरत नहीं होती है.

Firestore और Vertex AI एपीआई को कॉल करने के लिए, इस ट्यूटोरियल में ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल किया जाता है. साथ ही, Cloud फ़ंक्शन से जुड़े डिफ़ॉल्ट सेवा खाते का भी इस्तेमाल किया जाता है. आपको इसे सेट अप करने की ज़रूरत नहीं है. प्रोडक्शन एनवायरमेंट के मामले में, आम तौर पर Cloud Function में सेवा खाता create होगा और अटैच करना होगा.

Google Chat ऐप्लिकेशन बनाना और डिप्लॉय करना

आपका Google Cloud प्रोजेक्ट बन और कॉन्फ़िगर हो गया है. अब Google Chat ऐप्लिकेशन बनाया और डिप्लॉय किया जा सकता है. इस सेक्शन में, ये काम किए जा सकते हैं:

  1. Firestore डेटाबेस बनाएं, ताकि उपयोगकर्ता की कहानियों को सेव और वापस पाया जा सके.
  2. इसके अलावा, सैंपल कोड की समीक्षा भी की जा सकती है.
  3. Chat से एचटीटीपी अनुरोध के तौर पर मिले इवेंट के जवाब में, Chat ऐप्लिकेशन के कोड को होस्ट और चलाने के लिए Cloud फ़ंक्शन बनाएं.
  4. Google Chat API के कॉन्फ़िगरेशन पेज पर, Google Chat ऐप्लिकेशन बनाएं और उसे डिप्लॉय करें.

Firestore डेटाबेस बनाना

इस सेक्शन में, उपयोगकर्ता की कहानियों को सेव करने और उन्हें वापस पाने के लिए, Firestore डेटाबेस बनाया जाता है. हालांकि, डेटा मॉडल तय नहीं किया जाता. डेटा मॉडल, model/user-story.js और model/user.js फ़ाइलों की मदद से, सैंपल कोड में अपने-आप सेट हो जाता है.

प्रोजेक्ट मैनेजमेंट चैट ऐप्लिकेशन का डेटाबेस, दस्तावेज़ों पर आधारित NoSQL डेटा मॉडल का इस्तेमाल करता है. इन दस्तावेज़ों को संग्रह में व्यवस्थित किया जाता है. ज़्यादा जानकारी के लिए, Firestore डेटा मॉडल लेख पढ़ें.

इस डायग्राम में, प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन के डेटा मॉडल के बारे में खास जानकारी दी गई है:

Firestore डेटाबेस का डेटा मॉडल.

रूट कलेक्शन spaces है, जहां हर दस्तावेज़ उस स्पेस के बारे में बताता है जिसमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं. हर उपयोगकर्ता की कहानी को userStories सब-कलेक्शन में मौजूद दस्तावेज़ से दिखाया जाता है. साथ ही, हर उपयोगकर्ता को users सब-कलेक्शन में मौजूद दस्तावेज़ से दिखाया जाता है.

कलेक्शन, दस्तावेज़, और फ़ील्ड की परिभाषाएं देखना

spaces

वे स्पेस जिनमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं.

फ़ील्ड
Document IDString
उस स्पेस का यूनीक आईडी जहां स्टोरी बनाई गई हैं. यह Chat API में स्पेस के संसाधन के नाम से मेल खाता है.
userStoriesSubcollection of Documents (userStories)
Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई स्टोरीज़. यह Firebase में userStories के Document ID से मेल खाता है.
usersSubcollection of Documents (user)
वे उपयोगकर्ता जिन्होंने कहानियां बनाई हैं या जिन्हें कहानियां असाइन की गई हैं.
displayNameString
Chat API में स्पेस का डिसप्ले नेम. उपयोगकर्ताओं को डायरेक्ट मैसेज भेजने के लिए सेट नहीं है.

userStories

Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई स्टोरीज़.

फ़ील्ड
Document IDString
Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई किसी खास उपयोगकर्ता की कहानी का यूनीक आईडी.
assigneeDocument (user)
स्टोरी को पूरा करने के लिए असाइन किए गए उपयोगकर्ता के संसाधन का नाम. यह users दस्तावेज़ के Document ID से मेल खाता है. साथ ही, Chat API में उपयोगकर्ता के संसाधन के नाम से भी मेल खाता है.
descriptionString
सॉफ़्टवेयर की सुविधा के बारे में, उपयोगकर्ता के नज़रिए से जानकारी.
priorityEnum
काम को पूरा करने में लगने वाला समय. इसकी वैल्यू Low, Medium या High हो सकती हैं.
sizeEnum
काम की संख्या. इसकी वैल्यू Small, Medium या Large हो सकती हैं.
statusEnum
काम का फ़ेज़. इसकी वैल्यू OPEN, STARTED या COMPLETED हो सकती हैं.
titleString
कहानी का टाइटल; कम शब्दों में खास जानकारी.

users

ऐसे उपयोगकर्ता जिन्होंने कहानियां बनाई हैं या जिन्हें असाइन की गई हैं.

फ़ील्ड
Document IDString
किसी उपयोगकर्ता का यूनीक आईडी. यह Firebase में userStories के assignee से मेल खाता है. साथ ही, Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है.
avatarUrlString
Chat में उपयोगकर्ता के अवतार की इमेज को होस्ट करने वाला यूआरएल.
displayNameString
Chat पर उपयोगकर्ता का डिसप्ले नेम.

Firestore डेटाबेस बनाने का तरीका यहां बताया गया है:

Google Cloud कंसोल

  1. Google Cloud Console में, Firestore पर जाएं. मेन्यू > फ़ायर स्टोर पर क्लिक करें.

    Firestore पर जाएं

  2. डेटाबेस बनाएं पर क्लिक करें.

  3. अपना Firestore मोड चुनें सेक्शन में जाकर, नेटिव मोड पर क्लिक करें.

  4. जारी रखें पर क्लिक करें.

  5. डेटाबेस कॉन्फ़िगर करें:

    1. अपने डेटाबेस को नाम दें में, डेटाबेस आईडी को (default) के तौर पर छोड़ दें.

    2. जगह का टाइप में, अपने डेटाबेस के लिए कोई क्षेत्र बताएं, जैसे कि us-central1. बेहतर परफ़ॉर्मेंस के लिए, Chat ऐप्लिकेशन के Cloud फ़ंक्शन के तौर पर, आस-पास की जगह या आस-पास की जगह चुनें.

  6. डेटाबेस बनाएं पर क्लिक करें.

gcloud सीएलआई

  • gcloud firestore databases create कमांड की मदद से, नेटिव मोड में Firestore डेटाबेस बनाएं:

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

    LOCATION की जगह Firestore क्षेत्र का नाम रखें, जैसे कि us-central1.

सैंपल कोड की समीक्षा करना

इसके अलावा, Cloud फ़ंक्शन बनाने से पहले, कुछ समय निकालकर GitHub पर होस्ट किए गए सैंपल कोड की समीक्षा करें और उससे परिचित हों.

GitHub पर देखना

यहां हर फ़ाइल के बारे में खास जानकारी दी गई है:

env.js
Chat ऐप्लिकेशन को किसी खास Google Cloud प्रोजेक्ट और क्षेत्र में डिप्लॉय करने के लिए, एनवायरमेंट कॉन्फ़िगरेशन वैरिएबल. आपको इस फ़ाइल में कॉन्फ़िगरेशन वैरिएबल अपडेट करने होंगे.
package.json और package-lock.json
Node.js प्रोजेक्ट की सेटिंग और डिपेंडेंसी.
index.js
Chat ऐप्लिकेशन के Cloud फ़ंक्शन का एंट्री पॉइंट. यह एचटीटीपी अनुरोध से चैट इवेंट पढ़ता है, ऐप्लिकेशन हैंडलर को कॉल करता है, और एचटीटीपी रिस्पॉन्स को 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
इन फ़ाइलों में, 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 फ़ंक्शन बनाया और डिप्लॉय किया जाता है. इसमें प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन का ऐप्लिकेशन लॉजिक शामिल होता है.

Cloud फ़ंक्शन, Chat से मिले एचटीटीपी अनुरोध के जवाब में चलता है. इस अनुरोध में Chat इंटरैक्शन इवेंट शामिल होता है. Cloud फ़ंक्शन कोड को चलाने पर, वह इवेंट को प्रोसेस करता है और Chat को जवाब देता है. Chat, इस जवाब को मैसेज, डायलॉग या उपयोगकर्ता के किसी अन्य इंटरैक्शन के तौर पर रेंडर करता है. अगर लागू हो, तो Cloud Function, Firestore डेटाबेस से डेटा पढ़ता है या उसमें डेटा डालता है.

Cloud फ़ंक्शन बनाने का तरीका यहां बताया गया है:

Google Cloud कंसोल

  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 पर जाएं

    पक्का करें कि आपके Chat ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट चुना गया हो.

  5. फ़ंक्शन बनाएं पर क्लिक करें.

  6. फ़ंक्शन बनाएं पेज पर, अपना फ़ंक्शन सेट अप करें:

    1. एनवायरमेंट में, Cloud Run फ़ंक्शन चुनें.
    2. फ़ंक्शन का नाम में, project-management-tutorial डालें.
    3. इलाका में, कोई इलाका चुनें.
    4. पुष्टि में जाकर, बिना पुष्टि के अनुरोध करने की अनुमति दें को चुनें.
    5. आगे बढ़ें पर क्लिक करें.
  7. रनटाइम में, Node.js 20 चुनें.

  8. एंट्री पॉइंट में, डिफ़ॉल्ट टेक्स्ट मिटाएं और projectManagementChatApp डालें.

  9. सोर्स कोड में, ज़िप अपलोड चुनें.

  10. डेस्टिनेशन बकेट में, create या कोई बकेट चुनें:

    1. ब्राउज़ करें पर क्लिक करें.
    2. कोई बकेट चुनें.
    3. चुनें पर क्लिक करें.

    Google Cloud, ज़िप फ़ाइल को इस बकेट में अपलोड करता है और कॉम्पोनेंट फ़ाइलों को निकालता है. इसके बाद, Cloud Functions कॉम्पोनेंट फ़ाइलों को Cloud फ़ंक्शन में कॉपी कर देता है.

  11. ZIP फ़ाइल में, GitHub से डाउनलोड की गई, एक्स्ट्रैक्ट की गई, और फिर से कंप्रेस की गई ZIP फ़ाइल अपलोड करें:

    1. ब्राउज़ करें पर क्लिक करें.
    2. ज़िप फ़ाइल पर जाएं और उसे चुनें.
    3. खोलें पर क्लिक करें.
  12. डिप्लॉय करें पर क्लिक करें.

    Cloud Functions की जानकारी वाला पेज खुलता है. साथ ही, आपका फ़ंक्शन, प्रोग्रेस के दो इंडिकेटर के साथ दिखता है: एक बिल्ड के लिए और एक सेवा के लिए. जब प्रोग्रेस के दोनों इंडिकेटर गायब हो जाते हैं और उनकी जगह सही का निशान दिखने लगता है, तो इसका मतलब है कि आपका फ़ंक्शन डिप्लॉय हो गया है और इस्तेमाल के लिए तैयार है.

  13. कॉन्सटेंट सेट करने के लिए सैंपल कोड में बदलाव करें:

    1. क्लाउड फ़ंक्शन की जानकारी वाले पेज पर, बदलाव करें पर क्लिक करें.
    2. आगे बढ़ें पर क्लिक करें.
    3. सोर्स कोड में, इनलाइन एडिटर चुनें.
    4. इनलाइन एडिटर में, env.js फ़ाइल खोलें.
    5. project-id की जगह अपना Cloud प्रोजेक्ट आईडी डालें.
    6. ज़रूरी नहीं: अपने Cloud Function के लिए us-central1 को काम करने वाली जगह के साथ अपडेट करें.
  14. डिप्लॉय करें पर क्लिक करें.

  15. फ़ंक्शन डिप्लॉय होने के बाद, ट्रिगर यूआरएल कॉपी करें:

    1. फ़ंक्शन की जानकारी पेज पर, ट्रिगर पर क्लिक करें.
    2. यूआरएल कॉपी करें. नीचे दिए गए सेक्शन में, Chat ऐप्लिकेशन को कॉन्फ़िगर करना होगा.

gcloud सीएलआई

  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 फ़ंक्शन को Google Cloud पर डिप्लॉय करने के लिए:

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

    REGION को Cloud Function लोकेशन से बदलें जहां इसका इंफ़्रास्ट्रक्चर होस्ट किया गया हो, जैसे कि us-central1.

  1. फ़ंक्शन डिप्लॉय होने के बाद, रिस्पॉन्स से url प्रॉपर्टी कॉपी करें. यह ट्रिगर यूआरएल है. इसका इस्तेमाल, Google Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, नीचे दिए गए सेक्शन में किया जाता है.

Google Cloud Console में Google Chat ऐप्लिकेशन को कॉन्फ़िगर करना

इस सेक्शन में, Google Cloud Console में Chat API को कॉन्फ़िगर करने का तरीका बताया गया है. इसमें, Chat ऐप्लिकेशन के बारे में जानकारी शामिल है. जैसे, Chat ऐप्लिकेशन का नाम, काम करने वाले स्लैश कमांड, और Chat ऐप्लिकेशन के Cloud फ़ंक्शन के ट्रिगर यूआरएल, जिस पर Chat इंटरैक्शन इवेंट भेजे जाते हैं.

  1. Google Cloud Console में, मेन्यू > ज़्यादा प्रॉडक्ट > Google Workspace > प्रॉडक्ट लाइब्रेरी > Google Chat API > मैनेज करें > कॉन्फ़िगरेशन पर क्लिक करें.

    Chat API के कॉन्फ़िगरेशन पर जाना

  2. ऐप्लिकेशन का नाम में, Project Manager टाइप करें.

  3. अवतार यूआरएल में, https://developers.google.com/chat/images/quickstart-app-avatar.png टाइप करें.

  4. जानकारी में, Manages projects with user stories. टाइप करें

  5. इंटरैक्टिव सुविधाएं चालू करें टॉगल को चालू करने के लिए क्लिक करें.

  6. फ़ंक्शनलता में जाकर, 1:1 मैसेज पाएं, स्पेस और ग्रुप बातचीत में शामिल हों को चुनें.

  7. कनेक्शन सेटिंग में जाकर, एचटीटीपी एंडपॉइंट यूआरएल चुनें.

  8. एचटीटीपी एंडपॉइंट यूआरएल में, Cloud Functions डिप्लॉयमेंट से कॉपी किया गया ट्रिगर यूआरएल चिपकाएं. यह यूआरएल, https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial के फ़ॉर्मैट में होना चाहिए. अगर आपने gcloud सीएलआई के साथ क्लाउड फ़ंक्शन को डिप्लॉय किया है, तो यह url प्रॉपर्टी है.

  9. Chat ऐप्लिकेशन के स्लैश कमांड रजिस्टर करें. स्लैश कमांड को रजिस्टर करने के लिए:

    1. स्लैश कमांड में जाकर, स्लैश कमांड जोड़ें पर क्लिक करें.
    2. नीचे दी गई टेबल में बताए गए हर स्लैश कमांड के लिए, नाम, कमांड आईडी, जानकारी डालें. साथ ही, यह चुनें कि स्लैश कमांड डायलॉग बॉक्स खोलता है या नहीं. इसके बाद, हो गया पर क्लिक करें:

      नाम निर्देश आईडी ब्यौरा डायलॉग बॉक्स खोलता है
      /createUserStory 1 बताए गए टाइटल के साथ स्टोरी बनाएं. चुने हुए का निशान हटाया गया
      /myUserStories 2 उपयोगकर्ता को असाइन की गई सभी खबरों की सूची बनाता है. चुने हुए का निशान हटाया गया
      /userStory 3 यह किसी स्टोरी का मौजूदा स्टेटस दिखाता है. चुने हुए का निशान हटाया गया
      /manageUserStories 4 इससे एक डायलॉग बॉक्स खुलता है, जहां स्टोरी में बदलाव किया जा सकता है. चुना गया
      /cleanupUserStories 5 स्पेस में मौजूद सभी खबरें मिटा देता है. चुने हुए का निशान हटाया गया
  10. किसको दिखे सेक्शन में जाकर, इस Chat ऐप्लिकेशन को अपने Workspace डोमेन के कुछ खास लोगों और ग्रुप के लिए उपलब्ध कराएं को चुनें और अपना ईमेल पता डालें.

  11. इसके अलावा, लॉग में जाकर, लॉगिंग में गड़बड़ियां लॉग करें को चुनें.

  12. सेव करें पर क्लिक करें. सेव किया गया कॉन्फ़िगरेशन दिखेगा. इसका मतलब है कि चैट ऐप्लिकेशन टेस्ट के लिए तैयार है.

Chat ऐप्लिकेशन की जांच करना

प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन को टेस्ट करने के लिए, उसमें मैसेज भेजें और उपयोगकर्ता की कहानियां बनाने, उनमें बदलाव करने, और उन्हें मिटाने के लिए, स्लैश कमांड का इस्तेमाल करें.

  1. उस Google Workspace खाते का इस्तेमाल करके Google Chat खोलें जिसका इस्तेमाल आपने, खुद को भरोसेमंद टेस्टर के तौर पर जोड़ते समय किया था.

    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 स्लैश कमांड जारी करके, टेस्ट उपयोगकर्ता की स्टोरी मिटाएं. इसके अलावा, ऐप्लिकेशन को हटाएं या अनइंस्टॉल करें. ऐप्लिकेशन हटाने पर, उस स्पेस में बनाई गई सभी उपयोगकर्ता स्टोरी मिट जाती हैं.

समस्या हल करें

जब Google Chat ऐप्लिकेशन या कार्ड से कोई गड़बड़ी का मैसेज मिलता है, तो Chat इंटरफ़ेस पर "कोई गड़बड़ी हुई" मैसेज दिखता है. या "आपका अनुरोध प्रोसेस नहीं किया जा सका." कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) पर, गड़बड़ी का कोई मैसेज नहीं दिखता. हालांकि, Chat ऐप्लिकेशन या कार्ड से कोई अनचाहा नतीजा मिल सकता है. उदाहरण के लिए, हो सकता है कि कार्ड का मैसेज न दिखे.

हालांकि, हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, चैट ऐप्लिकेशन के लिए गड़बड़ी लॉग करने की सुविधा चालू होने पर, गड़बड़ी के मैसेज और लॉग डेटा की मदद से, गड़बड़ियों को ठीक किया जा सकता है. गड़बड़ियों को देखने, डिबग करने, और ठीक करने में मदद पाने के लिए, Google Chat में गड़बड़ियों को हल करना और उन्हें ठीक करना लेख पढ़ें.

व्यवस्थित करें

हमारा सुझाव है कि आप इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क लगने से बचने के लिए, Cloud प्रोजेक्ट मिटा दें.

  1. Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > आईएएम और एडमिन > संसाधन मैनेज करें पर क्लिक करें.

    रिसोर्स मैनेजर पर जाएं

  2. प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
  3. डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए शट डाउन करें पर क्लिक करें.