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

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

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

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

मकसद

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

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

प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन, 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, इन 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 Functions के एचटीटीपी एंडपॉइंट पर एक सिंक्रोनस एचटीटीपी अनुरोध भेजता है.

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

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

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

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

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

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

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

Google Cloud कंसोल

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

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

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

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

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

gcloud सीएलआई

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

  • Cloud Shell: gcloud CLI के साथ ऑनलाइन टर्मिनल का इस्तेमाल करने के लिए, 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 उस Cloud प्रोजेक्ट का प्रोजेक्ट आईडी है जिसके लिए आपको बिलिंग की सुविधा चालू करनी है.
    • 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. पुष्टि करें कि आपने सही Cloud प्रोजेक्ट में एपीआई चालू किए हैं. इसके बाद, आगे बढ़ें पर क्लिक करें.

  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 Admin API चालू करें:

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

    Cloud Build, Pub/Sub, और Cloud Run एडमिन एपीआई, Cloud Functions के लिए ज़रूरी हैं.

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

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

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

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

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

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

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 ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई कहानियां. यह 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 पर क्लिक करें.

    Firestore पर जाएं

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

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

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

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

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

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

  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
ऐप्लिकेशन का मुख्य लॉजिक. यह कुकी, इंटरैक्शन इवेंट को प्रोसेस करती है. इसके लिए, यह Chat ऐप्लिकेशन में किए गए मेंशन और स्लैश कमांड को हैंडल करती है. कार्ड पर होने वाले क्लिक का जवाब देने के लिए, यह app-action-handler.js को कॉल करता है.
controllers/app-action-handler.js
कार्ड पर क्लिक करने की सुविधा को मैनेज करने के लिए ऐप्लिकेशन लॉजिक Chat इंटरैक्शन इवेंट.
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 Function बनाना और उसे डिप्लॉय करना

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

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

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

Google Cloud कंसोल

  1. GitHub से कोड को zip फ़ाइल के तौर पर डाउनलोड करें.

    ज़िप फ़ाइल डाउनलोड करना

  2. डाउनलोड की गई ज़िप फ़ाइल को एक्स्ट्रैक्ट करें.

    एक्सट्रैक्ट किए गए फ़ोल्डर में, Google Workspace के सभी सैंपल की रिपॉज़िटरी होती है.

  3. एक्सट्रैक्ट किए गए फ़ोल्डर में, google-chat-samples-main/node/project-management-app/ पर जाएं. इसके बाद, project-management-app फ़ोल्डर को 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 प्रोजेक्ट चुना हो.

  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. ज़िप फ़ाइल में, GitHub से डाउनलोड की गई, एक्स्ट्रैक्ट की गई, और फिर से कंप्रेस की गई ज़िप फ़ाइल अपलोड करें:

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

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

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

    1. Cloud फ़ंक्शन की ज़्यादा जानकारी वाले पेज पर, बदलाव करें पर क्लिक करें.
    2. आगे बढ़ें पर क्लिक करें.
    3. सोर्स कोड में जाकर, इनलाइन एडिटर को चुनें.
    4. इनलाइन एडिटर में, env.js फ़ाइल खोलें.
    5. project-id की जगह अपना Cloud प्रोजेक्ट आईडी डालें.
    6. ज़रूरी नहीं: अपने Cloud फ़ंक्शन के लिए, 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 फ़ंक्शन की जगह डालें. यह वह जगह होती है जहां इसका इंफ़्रास्ट्रक्चर होस्ट किया जाता है. जैसे, 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. सुविधाएं में जाकर, स्पेस और ग्रुप बातचीत में शामिल हों को चुनें.

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

  8. एचटीटीपी एंडपॉइंट यूआरएल में, Cloud Functions डिप्लॉयमेंट से कॉपी किया गया ट्रिगर यूआरएल चिपकाएं. इसे https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial के तौर पर फ़ॉर्मैट किया गया है. अगर आपने gcloud सीएलआई की मदद से Cloud फ़ंक्शन डिप्लॉय किया है, तो यह 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 Workspace खाते का इस्तेमाल करके Google Chat खोलें. आपने इसी खाते से, भरोसेमंद टेस्टर के तौर पर खुद को जोड़ा था.

    Google Chat पर जाएं

  2. नई चैट पर क्लिक करें.
  3. एक या उससे ज़्यादा लोगों को जोड़ें फ़ील्ड में, अपने Chat ऐप्लिकेशन का नाम डालें.
  4. नतीजों में से अपना Chat ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलता है.

  5. ऐप्लिकेशन को भेजे गए नए डायरेक्ट मैसेज में, Hello टाइप करें और enter दबाएं. प्रोजेक्ट मैनेजमेंट वाला चैट ऐप्लिकेशन, मदद मेन्यू के साथ जवाब देता है. इसमें बताया जाता है कि वह क्या-क्या कर सकता है.
  6. कोई कहानी बनाने के लिए, मैसेज बार में /createUserStory Test story टाइप करें और उसे भेजें. प्रोजेक्ट मैनेजमेंट चैट ऐप्लिकेशन, कार्ड मैसेज के साथ जवाब देता है. इसमें उस यूज़र स्टोरी के बारे में जानकारी होती है जिसे वह Vertex AI के जनरेटिव एआई का इस्तेमाल करके आपके लिए बनाता है.
  7. कंसोल में, Firestore डेटाबेस की जांच करें. इससे आपको इन चीज़ों के बारे में जानकारी मिलेगी: आपने जिस स्पेस में Chat ऐप्लिकेशन जोड़ा है उसके बारे में बनाए गए रिकॉर्ड, उससे इंटरैक्ट करने वाले लोग, और आपने जो यूज़र स्टोरी बनाई है.

    Firestore पर जाएं

  8. Google Chat पर वापस जाएं.

    Google Chat पर जाएं

  9. इसके अलावा, कहानी में बदलाव करने के लिए, बदलाव करें पर क्लिक करें. खबर से संतुष्ट होने के बाद, सेव करें पर क्लिक करें.
  10. ऐप्लिकेशन के साथ काम करने वाली हर स्लैश कमांड को आज़माएं. इन्हें देखने के लिए, / टाइप करें या Chat ऐप्लिकेशन को मेंशन करें.
  11. /cleanupUserStories स्लैश कमांड का इस्तेमाल करके, टेस्ट यूज़र स्टोरी मिटाएं. इसके अलावा, ऐप्लिकेशन को हटाएं या अनइंस्टॉल करें. ऐप्लिकेशन को हटाने पर, उस स्पेस में बनाई गई सभी उपयोगकर्ता कहानियां मिट जाती हैं.

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

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

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

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

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

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

    Resource Manager पर जाएं

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