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

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

  • प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन का नाम लेने पर, ऐप्लिकेशन मदद करने के लिए प्रॉम्प्ट करता है.
    पहली इमेज. चार्ली, Chat स्पेस में अपनी टीम के साथ किसी सुविधा को डेवलप करने के बारे में चर्चा करता है. प्रोजेक्ट मैनेजमेंट के लिए Chat ऐप्लिकेशन का नाम लेने पर, Chat ऐप्लिकेशन आपको मदद करने के लिए सुझाव देगा.
  • कहानी बनाने के लिए, /createUserStory स्लैश कमांड का इस्तेमाल करना.
    दूसरी इमेज. /createUserStory स्लैश कमांड का इस्तेमाल करके, चार्ली एक कहानी बनाता है.
  • प्रोजेक्ट मैनेजमेंट चैट ऐप्लिकेशन, कहानी के ब्यौरे को लिखने के लिए 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 API (एपीआई) कंसोल

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

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

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

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

  3. जगह फ़ील्ड में, ब्राउज़ करें पर क्लिक करके, अपने प्रोजेक्ट के लिए संभावित जगहें दिखाएं. इसके बाद, चुनें पर क्लिक करें.
  4. बनाएं पर क्लिक करें. Google API 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 API (एपीआई) कंसोल

  1. Google API 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 API (एपीआई) कंसोल

  1. Google API 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. अगर ज़रूरी हो, तो मौजूदा क्लाउड प्रोजेक्ट को उस प्रोजेक्ट पर सेट करें जिसे आपने gcloud config set project कमांड की मदद से बनाया है:

    gcloud config set project PROJECT_ID

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

  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 Functions के लिए, Cloud Build, Pub/Sub, और Cloud Run Admin API ज़रूरी हैं.

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

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

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)
चैट ऐप्लिकेशन और उसके उपयोगकर्ताओं ने ये कहानियां बनाई हैं. यह Firebase में मौजूद userStories के Document ID से मेल खाता है.
usersSubcollection of Documents (user)
वे उपयोगकर्ता जिन्होंने कहानियां बनाई हैं या जिन्हें कहानियां असाइन की गई हैं.
displayNameString
Chat API में स्पेस का डिसप्ले नेम. उपयोगकर्ताओं के साथ डायरेक्ट मैसेज के लिए सेट नहीं किया गया है.

userStories

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

फ़ील्ड
Document IDString
यह चैट ऐप्लिकेशन और इसके उपयोगकर्ताओं की बनाई गई किसी खास उपयोगकर्ता कहानी का यूनीक आईडी होता है.
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 API (एपीआई) कंसोल

  1. Google API Console में जाकर, Firestore पर जाएं. मेन्यू > Firestore पर क्लिक करें.

    Firestore पर जाएं

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

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

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

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

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

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

  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
कार्ड पर क्लिक करने की सुविधा को मैनेज करने के लिए ऐप्लिकेशन लॉजिक चैट इंटरैक्शन इवेंट.
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 Functions का कोड चालू होने पर, इवेंट को प्रोसेस करता है. इसके बाद, Chat को जवाब देता है. Chat, इस जवाब को मैसेज, डायलॉग या उपयोगकर्ता के साथ इंटरैक्ट करने के किसी अन्य तरीके के तौर पर रेंडर करता है. अगर लागू हो, तो Cloud Function, Firestore डेटाबेस से डेटा पढ़ता है या उसमें डेटा लिखता है.

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

Google API (एपीआई) कंसोल

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

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

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

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

  3. एक्सट्रैक्ट किए गए फ़ोल्डर में, add-ons-samples-main/node/chat/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 API 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 की जगह अपना क्लाउड प्रोजेक्ट आईडी डालें.
    6. ज़रूरी नहीं: अपने Cloud फ़ंक्शन के लिए, us-central1 को सपोर्ट की गई जगह के साथ अपडेट करें.
  14. लागू करें पर क्लिक करें.

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

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

gcloud सीएलआई

  1. GitHub से कोड क्लोन करें:

    git clone https://github.com/googleworkspace/add-ons-samples.git
  2. उस डायरेक्ट्री पर स्विच करें जिसमें इस प्रोजेक्ट के कोड को मैनेज करने वाले Chat ऐप्लिकेशन का कोड मौजूद है:

    cd add-ons-samples/node/chat/project-management-app
  3. एनवायरमेंट वैरिएबल सेट करने के लिए, env.js फ़ाइल में बदलाव करें:

    1. project-id की जगह अपना Google Cloud प्रोजेक्ट आईडी डालें.
    2. us-central1 की जगह, अपने Google Cloud प्रोजेक्ट की जगह की जानकारी डालें.
  4. Cloud Functions को Google Cloud पर डिप्लॉय करें:

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

    REGION की जगह Cloud Functions की उस जगह का नाम डालें जहां इसका आईटी इन्फ़्रास्ट्रक्चर होस्ट किया गया है. जैसे, us-central1.

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

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

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

  1. Google API Console में, मेन्यू > एपीआई और सेवाएं > चालू किए गए एपीआई और सेवाएं > 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. सेवा खाते का ईमेल पता कॉपी करें. अपने Google Chat ऐप्लिकेशन को फ़ंक्शन शुरू करने की अनुमति देते समय, आपको इस ईमेल की ज़रूरत होगी.

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

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

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

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

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

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

  14. सेव करें पर क्लिक करें. आपको कॉन्फ़िगरेशन सेव होने का मैसेज दिखेगा.

Chat ऐप्लिकेशन, 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. API Console में, 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 API Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > IAM और एडमिन > संसाधन मैनेज करें पर क्लिक करें.

    Resource Manager पर जाएं

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