इस ट्यूटोरियल में, Google Chat ऐप्लिकेशन बनाने का तरीका बताया गया है. इस ऐप्लिकेशन का इस्तेमाल करके, कोई टीम रीयल टाइम में प्रोजेक्ट मैनेज कर सकती है. Chat ऐप्लिकेशन, Vertex AI का इस्तेमाल करता है. इससे टीमें, उपयोगकर्ता की कहानियां लिख पाती हैं. ये कहानियां, किसी सॉफ़्टवेयर सिस्टम की उन सुविधाओं के बारे में बताती हैं जिन्हें टीम को उपयोगकर्ता के हिसाब से डेवलप करना होता है. साथ ही, इन कहानियों को Firestore डेटाबेस में सेव किया जाता है.
-
पहली इमेज. चार्ली, Chat स्पेस में अपनी टीम के साथ किसी सुविधा को डेवलप करने के बारे में चर्चा करता है. प्रोजेक्ट मैनेजमेंट के लिए Chat ऐप्लिकेशन का नाम लेने पर, Chat ऐप्लिकेशन आपको मदद करने के लिए सुझाव देगा. -
दूसरी इमेज. /createUserStory
स्लैश कमांड का इस्तेमाल करके, चार्ली एक कहानी बनाता है. -
तीसरी इमेज. प्रोजेक्ट मैनेजमेंट के लिए इस्तेमाल किया जाने वाला Chat ऐप्लिकेशन, कहानी के ब्यौरे को लिखने के लिए Vertex AI का इस्तेमाल करता है. इसके बाद, कहानी को स्पेस में शेयर करता है. -
चौथी इमेज. कहानी की जानकारी को फ़ाइनल करने के लिए, चार्ली बदलाव करें पर क्लिक करता है. एआई से मिली जानकारी सटीक है, लेकिन चार्ली को ज़्यादा जानकारी चाहिए. इसलिए, चार्ली बड़ा करें पर क्लिक करता है, ताकि Vertex AI कहानी के ब्यौरे में ज़रूरी जानकारी जोड़ सके. चार्ली, कहानी को खुद को असाइन करता है. इसके बाद, स्थिति को 'शुरू हो गया' पर सेट करता है. साथ ही, प्राथमिकता और साइज़ चुनकर सेव करें पर क्लिक करता है. -
पांचवीं इमेज. चार्ली, का इस्तेमाल करके, टीम की सभी उपयोगकर्ता कहानियों को कभी भी देख और मैनेज कर सकता है./manageUserStories
स्लैश कमांड
ज़रूरी शर्तें
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
Google Cloud की सेवाओं का ऐक्सेस, ताकि ये काम किए जा सकें:
- Google Cloud प्रोजेक्ट बनाएं.
- Google Cloud के बिलिंग खाते को Cloud प्रोजेक्ट से लिंक करें. आपके पास ऐक्सेस है या नहीं, यह जानने के लिए बिलिंग चालू करने के लिए ज़रूरी अनुमतियां लेख पढ़ें.
बिना पुष्टि किए गए Google Cloud फ़ंक्शन के इनवोकेशन का इस्तेमाल करें. इसकी पुष्टि करने के लिए, यह पता करें कि आपका Google Cloud संगठन, डोमेन के हिसाब से शेयर करने की सुविधा का इस्तेमाल करता है या नहीं.
अगर ज़रूरी हो, तो अपने Google Cloud एडमिन से ऐक्सेस या अनुमति मांगें.
अगर Google Cloud CLI का इस्तेमाल किया जा रहा है, तो gcloud CLI के साथ काम करने के लिए कॉन्फ़िगर किया गया Node.js डेवलपमेंट एनवायरमेंट. Node.js डेवलपमेंट एनवायरमेंट सेट अप करना लेख पढ़ें.
मकसद
- ऐसा 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 ऐप्लिकेशन इस तरह काम करता है:
कोई उपयोगकर्ता Chat में मैसेज भेजता है और प्रोजेक्ट मैनेजमेंट वाले Google Chat ऐप्लिकेशन को चालू करता है. इसके लिए, वह ऐप्लिकेशन को सीधे मैसेज भेजता है, स्पेस में उसका नाम लिखता है या स्लैश कमांड डालता है.
Chat, Cloud Functions के एचटीटीपी एंडपॉइंट पर एक सिंक्रोनस एचटीटीपी अनुरोध भेजता है.
प्रोजेक्ट मैनेजमेंट से जुड़ा Google Chat ऐप्लिकेशन, एचटीटीपी अनुरोध को प्रोसेस करता है:
Vertex AI, उपयोगकर्ता की कहानी लिखने या उसे अपडेट करने में मदद करता है.
Firestore डेटाबेस, उपयोगकर्ता की कहानी से जुड़े डेटा को सेव करता है, उसे वापस पाता है, अपडेट करता है या मिटाता है.
Cloud Functions, Chat को एक एचटीटीपी रिस्पॉन्स भेजता है. Chat, इसे उपयोगकर्ता को मैसेज या डायलॉग के तौर पर दिखाता है.
एनवायरमेंट तैयार करना
इस सेक्शन में, Chat ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट बनाने और उसे कॉन्फ़िगर करने का तरीका बताया गया है.
Google Cloud प्रोजेक्ट बनाना
Google Cloud कंसोल
- Google Cloud console में, मेन्यू > IAM और एडमिन > प्रोजेक्ट बनाएं पर जाएं.
-
प्रोजेक्ट का नाम फ़ील्ड में, अपने प्रोजेक्ट के लिए जानकारी देने वाला नाम डालें.
ज़रूरी नहीं: प्रोजेक्ट आईडी में बदलाव करने के लिए, बदलाव करें पर क्लिक करें. प्रोजेक्ट बनाने के बाद, उसका आईडी नहीं बदला जा सकता. इसलिए, ऐसा आईडी चुनें जो प्रोजेक्ट के पूरे लाइफ़टाइम के लिए आपकी ज़रूरतों को पूरा करे.
- जगह फ़ील्ड में, ब्राउज़ करें पर क्लिक करके, अपने प्रोजेक्ट के लिए संभावित जगहें दिखाएं. इसके बाद, चुनें पर क्लिक करें.
- बनाएं पर क्लिक करें. Google Cloud Console, डैशबोर्ड पेज पर रीडायरेक्ट हो जाता है. इसके बाद, आपका प्रोजेक्ट कुछ ही मिनटों में बन जाता है.
gcloud सीएलआई
नीचे दिए गए डेवलपमेंट एनवायरमेंट में से किसी एक में, Google Cloud CLI (gcloud
) को ऐक्सेस करें:
-
Cloud Shell: gcloud CLI के साथ ऑनलाइन टर्मिनल का इस्तेमाल करने के लिए, Cloud Shell चालू करें.
Cloud Shell चालू करें -
लोकल शेल: लोकल डेवलपमेंट एनवायरमेंट का इस्तेमाल करने के लिए,
gcloud सीएलआई को इंस्टॉल करें और
शुरू करें.
Cloud प्रोजेक्ट बनाने के लिए,gcloud projects create
कमांड का इस्तेमाल करें: आपको जिस प्रोजेक्ट को बनाना है उसके लिए आईडी सेट करके, PROJECT_ID को बदलें.gcloud projects create PROJECT_ID
Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करना
Google Cloud कंसोल
- Google Cloud Console में, बिलिंग पर जाएं. मेन्यू > बिलिंग > मेरे प्रोजेक्ट पर क्लिक करें.
- कोई संगठन चुनें में जाकर, वह संगठन चुनें जो आपके Google Cloud प्रोजेक्ट से जुड़ा है.
- प्रोजेक्ट की लाइन में, कार्रवाइयां मेन्यू ( ) खोलें. इसके बाद, बिलिंग बदलें पर क्लिक करें और Cloud Billing खाता चुनें.
- खाता सेट करें पर क्लिक करें.
gcloud सीएलआई
- उपलब्ध बिलिंग खातों की सूची देखने के लिए, यह कमांड चलाएं:
gcloud billing accounts list
- किसी बिलिंग खाते को Google Cloud प्रोजेक्ट से लिंक करने के लिए:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
इनकी जगह ये डालें:
PROJECT_ID
उस Cloud प्रोजेक्ट का प्रोजेक्ट आईडी है जिसके लिए आपको बिलिंग की सुविधा चालू करनी है.BILLING_ACCOUNT_ID
वह बिलिंग खाता आईडी है जिसे Google Cloud प्रोजेक्ट से लिंक करना है.
एपीआई चालू करना
Google Cloud कंसोल
Google Cloud Console में, Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, और Cloud Run Admin API को चालू करें.
पुष्टि करें कि आपने सही Cloud प्रोजेक्ट में एपीआई चालू किए हैं. इसके बाद, आगे बढ़ें पर क्लिक करें.
पुष्टि करें कि आपने सही एपीआई चालू किए हैं. इसके बाद, चालू करें पर क्लिक करें.
gcloud सीएलआई
अगर ज़रूरी हो, तो मौजूदा Cloud प्रोजेक्ट को उस प्रोजेक्ट पर सेट करें जिसे आपने
gcloud config set project
कमांड का इस्तेमाल करके बनाया है:gcloud config set project PROJECT_ID
PROJECT_ID की जगह, बनाए गए Cloud प्रोजेक्ट का प्रोजेक्ट आईडी डालें.
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 ऐप्लिकेशन बनाया जा सकता है और उसे डिप्लॉय किया जा सकता है. इस सेक्शन में, आपको ये काम करने होंगे:
- एक Firestore डेटाबेस बनाएं, ताकि उपयोगकर्ता की कहानियों को सेव किया जा सके और उन्हें वापस पाया जा सके.
- इसके अलावा, सैंपल कोड की समीक्षा करें.
- Chat ऐप्लिकेशन के कोड को होस्ट और चलाने के लिए, Cloud फ़ंक्शन बनाएं. यह कोड, Chat से एचटीटीपी अनुरोधों के तौर पर मिले इवेंट के जवाब में काम करेगा.
- Google Chat API कॉन्फ़िगरेशन पेज पर, Google Chat ऐप्लिकेशन बनाएं और उसे डिप्लॉय करें.
Firestore डेटाबेस बनाना
इस सेक्शन में, उपयोगकर्ता की कहानियों को सेव करने और उन्हें वापस पाने के लिए, Firestore डेटाबेस बनाया जाता है. हालांकि, इसमें डेटा मॉडल तय नहीं किया जाता. डेटा मॉडल को model/user-story.js
और model/user.js
फ़ाइलों के ज़रिए, सैंपल कोड में इंप्लिसिट तौर पर सेट किया जाता है.
प्रोजेक्ट मैनेजमेंट के लिए Chat ऐप्लिकेशन का डेटाबेस, NoSQL डेटा मॉडल का इस्तेमाल करता है. यह मॉडल, Firestore डेटा मॉडल देखें.
दस्तावेज़ों पर आधारित होता है. इन दस्तावेज़ों को कलेक्शन में व्यवस्थित किया जाता है. ज़्यादा जानने के लिए,इस डायग्राम में, प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन के डेटा मॉडल की खास जानकारी दी गई है:
रूट कलेक्शन spaces
है. इसमें मौजूद हर दस्तावेज़, उस स्पेस को दिखाता है जिसमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं. हर उपयोगकर्ता की कहानी को userStories
सब-कलेक्शन में मौजूद एक दस्तावेज़ के तौर पर दिखाया जाता है. साथ ही, हर उपयोगकर्ता को users
सब-कलेक्शन में मौजूद एक दस्तावेज़ के तौर पर दिखाया जाता है.
कलेक्शन, दस्तावेज़, और फ़ील्ड की परिभाषाएं देखना
spaces
Chat ऐप्लिकेशन ने जिन स्पेस में स्टोरी बनाई हैं.
फ़ील्ड | |
---|---|
Document ID | String किसी ऐसे स्पेस का यूनीक आईडी जहां कहानियां बनाई जाती हैं. यह Chat API में स्पेस के संसाधन के नाम से मेल खाता है. |
userStories | Subcollection of Documents ( Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई कहानियां. यह Firebase में मौजूद userStories के Document ID से मेल खाता है. |
users | Subcollection of Documents (user) वे उपयोगकर्ता जिन्होंने स्टोरी बनाई हैं या जिन्हें स्टोरी असाइन की गई हैं. |
displayName | String Chat API में स्पेस का डिसप्ले नेम. उपयोगकर्ताओं के साथ डायरेक्ट मैसेज के लिए सेट नहीं किया गया है. |
userStories
Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई कहानियां.
फ़ील्ड | |
---|---|
Document ID | String Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की ओर से बनाई गई किसी उपयोगकर्ता की कहानी का यूनीक आईडी. |
assignee | Document (user) स्टोरी पूरी करने के लिए असाइन किए गए उपयोगकर्ता के संसाधन का नाम. यह users दस्तावेज़ के Document ID और Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है. |
description | String उपयोगकर्ता के नज़रिए से, सॉफ़्टवेयर की सुविधा के बारे में जानकारी. |
priority | Enum काम को कितनी जल्दी पूरा करना है. इसकी वैल्यू Low , Medium या High हो सकती है. |
size | Enum काम की मात्रा. इसकी वैल्यू Small , Medium या Large हो सकती है. |
status | Enum काम का चरण. इसकी वैल्यू OPEN , STARTED या COMPLETED हो सकती है. |
title | String कहानी का टाइटल; कम शब्दों में खास जानकारी. |
users
वे उपयोगकर्ता जिन्होंने कहानियां बनाई हैं या जिन्हें कहानियां असाइन की गई हैं.
फ़ील्ड | |
---|---|
Document ID | String किसी उपयोगकर्ता का यूनीक आईडी. यह Firebase में मौजूद userStories के assignee और Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है. |
avatarUrl | String उपयोगकर्ता के Chat अवतार की इमेज को होस्ट करने वाला यूआरएल. |
displayName | String Chat इस्तेमाल करने वाले व्यक्ति का डिसप्ले नेम. |
Firestore डेटाबेस बनाने का तरीका यहां दिया गया है:
Google Cloud कंसोल
Google Cloud Console में, Firestore पर जाएं. मेन्यू > Firestore पर क्लिक करें.
डेटाबेस बनाएं पर क्लिक करें.
Firestore का मोड चुनें में जाकर, नेटिव मोड पर क्लिक करें.
जारी रखें पर क्लिक करें.
डेटाबेस को कॉन्फ़िगर करें:
अपने डेटाबेस को नाम दें में, डेटाबेस आईडी को
(default)
के तौर पर छोड़ दें.जगह की स्थिति में, अपने डेटाबेस के लिए कोई क्षेत्र चुनें. जैसे,
us-central1
. बेहतरीन परफ़ॉर्मेंस के लिए, Chat ऐप्लिकेशन के क्लाउड फ़ंक्शन के लिए चुनी गई जगह या उसके आस-पास की जगह चुनें.
डेटाबेस बनाएं पर क्लिक करें.
gcloud सीएलआई
gcloud firestore databases create
कमांड का इस्तेमाल करके, नेटिव मोड में Firestore डेटाबेस बनाएं:gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
LOCATION की जगह Firestore क्षेत्र का नाम डालें. जैसे,
us-central1
.
सैंपल कोड की समीक्षा करें
ज़रूरी नहीं: Cloud फ़ंक्शन बनाने से पहले, 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 कंसोल
GitHub से कोड को zip फ़ाइल के तौर पर डाउनलोड करें.
डाउनलोड की गई ज़िप फ़ाइल को एक्स्ट्रैक्ट करें.
एक्सट्रैक्ट किए गए फ़ोल्डर में, Google Workspace के सभी सैंपल की रिपॉज़िटरी होती है.
एक्सट्रैक्ट किए गए फ़ोल्डर में,
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/
Google Cloud Console में, Cloud Functions पेज पर जाएं:
पक्का करें कि आपने अपने चैट ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट चुना हो.
फ़ंक्शन बनाएं पर क्लिक करें.
फ़ंक्शन बनाएं पेज पर, अपना फ़ंक्शन सेट अप करें:
- एनवायरमेंट में, Cloud Run फ़ंक्शन चुनें.
- फ़ंक्शन का नाम में,
project-management-tutorial
डालें. - देश/इलाका में जाकर, कोई देश/इलाका चुनें.
- पुष्टि में जाकर, बिना पुष्टि किए गए अनुरोधों को अनुमति दें को चुनें.
- आगे बढ़ें पर क्लिक करें.
रनटाइम में जाकर, Node.js 20 को चुनें.
एंट्री पॉइंट में, डिफ़ॉल्ट टेक्स्ट मिटाएं और
projectManagementChatApp
डालें.सोर्स कोड में, ज़िप फ़ाइल अपलोड करें को चुनें.
डेस्टिनेशन बकेट में जाकर, कोई बकेट बनाएं या चुनें:
- ब्राउज़ करें पर क्लिक करें.
- कोई बकेट चुनें.
- चुनें पर क्लिक करें.
Google Cloud, इस बकेट में ZIP फ़ाइल अपलोड करता है और कॉम्पोनेंट फ़ाइलें निकालता है. इसके बाद, Cloud Functions कॉम्पोनेंट फ़ाइलों को Cloud Function में कॉपी करता है.
ज़िप फ़ाइल में, GitHub से डाउनलोड की गई, एक्स्ट्रैक्ट की गई, और फिर से कंप्रेस की गई ज़िप फ़ाइल अपलोड करें:
- ब्राउज़ करें पर क्लिक करें.
- ज़िप फ़ाइल पर जाएं और उसे चुनें.
- खोलें पर क्लिक करें.
डिप्लॉय करें पर क्लिक करें.
Cloud Functions की जानकारी पेज खुलता है. इसके बाद, आपका फ़ंक्शन दो प्रोग्रेस इंडिकेटर के साथ दिखता है: एक बिल्ड के लिए और दूसरा सेवा के लिए. जब दोनों प्रोग्रेस इंडिकेटर गायब हो जाते हैं और उनकी जगह सही का निशान दिखता है, तो इसका मतलब है कि आपका फ़ंक्शन डिप्लॉय हो गया है और इस्तेमाल के लिए तैयार है.
कॉन्स्टेंट सेट करने के लिए, सैंपल कोड में बदलाव करें:
- Cloud फ़ंक्शन की ज़्यादा जानकारी वाले पेज पर, बदलाव करें पर क्लिक करें.
- आगे बढ़ें पर क्लिक करें.
- सोर्स कोड में जाकर, इनलाइन एडिटर को चुनें.
- इनलाइन एडिटर में,
env.js
फ़ाइल खोलें. - project-id की जगह अपना Cloud प्रोजेक्ट आईडी डालें.
- ज़रूरी नहीं: अपने Cloud फ़ंक्शन के लिए, us-central1 को सपोर्ट की जाने वाली जगह के साथ अपडेट करें.
डिप्लॉय करें पर क्लिक करें.
फ़ंक्शन के डिप्लॉय होने के बाद, ट्रिगर यूआरएल कॉपी करें:
- फ़ंक्शन की जानकारी पेज पर, ट्रिगर करें पर क्लिक करें.
- यूआरएल कॉपी करें. आपको इसकी ज़रूरत इस सेक्शन में Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए होगी.
gcloud सीएलआई
GitHub से कोड क्लोन करें:
git clone https://github.com/googleworkspace/google-chat-samples.git
उस डायरेक्ट्री पर स्विच करें जिसमें इस प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन का कोड मौजूद है:
cd google-chat-samples/node/project-management-app
एनवायरमेंट वैरिएबल सेट करने के लिए,
env.js
फ़ाइल में बदलाव करें:- project-id की जगह अपना Google Cloud प्रोजेक्ट आईडी डालें.
- us-central1 की जगह, अपने Google Cloud प्रोजेक्ट की जगह की जानकारी डालें.
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
.
- फ़ंक्शन डिप्लॉय होने के बाद, जवाब से
url
प्रॉपर्टी कॉपी करें. यह ट्रिगर यूआरएल है. इसका इस्तेमाल, Google Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए किया जाता है.
Google Cloud Console में Google Chat ऐप्लिकेशन को कॉन्फ़िगर करना
इस सेक्शन में, Google Cloud Console में Chat API को कॉन्फ़िगर करने का तरीका बताया गया है. इसमें आपके Chat ऐप्लिकेशन के बारे में जानकारी भी शामिल है. जैसे, Chat ऐप्लिकेशन का नाम, स्लैश कमांड, और Chat ऐप्लिकेशन के Cloud फ़ंक्शन का ट्रिगर यूआरएल, जिस पर Chat इंटरैक्शन इवेंट भेजे जाते हैं.
Google Cloud Console में, मेन्यू > ज़्यादा प्रॉडक्ट > Google Workspace > प्रॉडक्ट लाइब्रेरी > Google Chat API > मैनेज करें > कॉन्फ़िगरेशन पर क्लिक करें.
ऐप्लिकेशन का नाम में,
Project Manager
टाइप करें.अवतार यूआरएल में,
https://developers.google.com/chat/images/quickstart-app-avatar.png
टाइप करें.ब्यौरा में,
Manages projects with user stories.
टाइप करेंइंटरैक्टिव सुविधाएं चालू करें टॉगल पर क्लिक करके उसे चालू करें.
सुविधाएं में जाकर, स्पेस और ग्रुप बातचीत में शामिल हों को चुनें.
कनेक्शन सेटिंग में जाकर, एचटीटीपी एंडपॉइंट यूआरएल चुनें.
एचटीटीपी एंडपॉइंट यूआरएल में, Cloud Functions डिप्लॉयमेंट से कॉपी किया गया ट्रिगर यूआरएल चिपकाएं. इसे
https://
REGION-
PROJECT_ID.cloudfunctions.net/project-management-tutorial
के तौर पर फ़ॉर्मैट किया गया है. अगर आपने gcloud सीएलआई की मदद से Cloud फ़ंक्शन डिप्लॉय किया है, तो यहurl
प्रॉपर्टी है.Chat ऐप्लिकेशन की स्लैश कमांड रजिस्टर करें. स्लैश कमांड रजिस्टर करने के लिए:
- निर्देश में जाकर, कोई निर्देश जोड़ें पर क्लिक करें.
नीचे दी गई टेबल में बताई गई हर स्लैश कमांड के लिए, नाम, कमांड आईडी, और ब्यौरा डालें. इसके बाद, चुनें कि स्लैश कमांड डायलॉग बॉक्स खोलती है या नहीं. इसके बाद, हो गया पर क्लिक करें:
नाम कमांड आईडी ब्यौरा कमांड का टाइप स्लैश कमांड का नाम इससे एक डायलॉग बॉक्स खुलता है उपयोगकर्ता की कहानी बनाना 1 दिए गए टाइटल के साथ कोई कहानी बनाएं. स्लैश कमांड /createUserStory
चुने हुए का निशान हटाया गया मेरी यूज़र स्टोरी 2 यह कुकी, उपयोगकर्ता को असाइन की गई सभी कहानियों की सूची बनाती है. स्लैश कमांड /myUserStories
चुने हुए का निशान हटाया गया यूज़र स्टोरी 3 चुनी गई स्टोरी का मौजूदा स्टेटस दिखाता है. स्लैश कमांड /userStory
चुने हुए का निशान हटाया गया उपयोगकर्ता की कहानियां मैनेज करना 4 इससे एक डायलॉग बॉक्स खुलता है, जहां कहानियों में बदलाव किया जा सकता है. स्लैश कमांड /manageUserStories
चुना गया यूज़र स्टोरी को साफ़ करना 5 इस स्पेस में मौजूद सभी स्टोरी मिटा दी जाती हैं. स्लैश कमांड /cleanupUserStories
चुने हुए का निशान हटाया गया
दिखने की सेटिंग में जाकर, इस Chat ऐप्लिकेशन को अपने Workspace डोमेन के चुनिंदा लोगों और ग्रुप के लिए उपलब्ध कराएं को चुनें. इसके बाद, अपना ईमेल पता डालें.
इसके अलावा, लॉग में जाकर, लॉगिंग में गड़बड़ियों को लॉग करें को चुनें.
सेव करें पर क्लिक करें. आपको 'कॉन्फ़िगरेशन सेव किया गया' मैसेज दिखेगा. इसका मतलब है कि Chat ऐप्लिकेशन की जांच की जा सकती है.
Chat ऐप्लिकेशन की टेस्टिंग करना
प्रोजेक्ट मैनेजमेंट वाले Chat ऐप्लिकेशन को आज़माएं. इसके लिए, उसे मैसेज भेजें. साथ ही, उपयोगकर्ता की कहानियों को बनाने, उनमें बदलाव करने, और उन्हें मिटाने के लिए, स्लैश कमांड का इस्तेमाल करें.
Google Workspace खाते का इस्तेमाल करके Google Chat खोलें. आपने इसी खाते से, भरोसेमंद टेस्टर के तौर पर खुद को जोड़ा था.
- नई चैट पर क्लिक करें.
- एक या उससे ज़्यादा लोगों को जोड़ें फ़ील्ड में, अपने Chat ऐप्लिकेशन का नाम डालें.
नतीजों में से अपना Chat ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलता है.
- ऐप्लिकेशन को भेजे गए नए डायरेक्ट मैसेज में,
Hello
टाइप करें औरenter
दबाएं. प्रोजेक्ट मैनेजमेंट वाला चैट ऐप्लिकेशन, मदद मेन्यू के साथ जवाब देता है. इसमें बताया जाता है कि वह क्या-क्या कर सकता है. - कोई कहानी बनाने के लिए, मैसेज बार में
/createUserStory Test story
टाइप करें और उसे भेजें. प्रोजेक्ट मैनेजमेंट चैट ऐप्लिकेशन, कार्ड मैसेज के साथ जवाब देता है. इसमें उस यूज़र स्टोरी के बारे में जानकारी होती है जिसे वह Vertex AI के जनरेटिव एआई का इस्तेमाल करके आपके लिए बनाता है. कंसोल में, Firestore डेटाबेस की जांच करें. इससे आपको इन चीज़ों के बारे में जानकारी मिलेगी: आपने जिस स्पेस में Chat ऐप्लिकेशन जोड़ा है उसके बारे में बनाए गए रिकॉर्ड, उससे इंटरैक्ट करने वाले लोग, और आपने जो यूज़र स्टोरी बनाई है.
Google Chat पर वापस जाएं.
- इसके अलावा, कहानी में बदलाव करने के लिए, बदलाव करें पर क्लिक करें. खबर से संतुष्ट होने के बाद, सेव करें पर क्लिक करें.
- ऐप्लिकेशन के साथ काम करने वाली हर स्लैश कमांड को आज़माएं. इन्हें देखने के लिए,
/
टाइप करें या Chat ऐप्लिकेशन को मेंशन करें. /cleanupUserStories
स्लैश कमांड का इस्तेमाल करके, टेस्ट यूज़र स्टोरी मिटाएं. इसके अलावा, ऐप्लिकेशन को हटाएं या अनइंस्टॉल करें. ऐप्लिकेशन को हटाने पर, उस स्पेस में बनाई गई सभी उपयोगकर्ता कहानियां मिट जाती हैं.
समस्या हल करें
जब कोई Google Chat ऐप्लिकेशन या कार्ड कोई गड़बड़ी दिखाता है, तो Chat इंटरफ़ेस पर एक मैसेज दिखता है. इसमें लिखा होता है कि "कोई गड़बड़ी हुई." या "आपका अनुरोध प्रोसेस नहीं किया जा सका." कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) में कोई गड़बड़ी का मैसेज नहीं दिखता है, लेकिन Chat ऐप्लिकेशन या कार्ड से कोई अनचाहा नतीजा मिलता है. उदाहरण के लिए, ऐसा हो सकता है कि कार्ड मैसेज न दिखे.
ऐसा हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, Chat ऐप्लिकेशन के लिए गड़बड़ी के लॉगिंग की सुविधा चालू होने पर, गड़बड़ियों को ठीक करने में आपकी मदद करने के लिए, गड़बड़ी के बारे में जानकारी देने वाले मैसेज और लॉग डेटा उपलब्ध होता है. गड़बड़ियों को देखने, डीबग करने, और ठीक करने के बारे में मदद पाने के लिए, Google Chat से जुड़ी गड़बड़ियों को ठीक करना लेख पढ़ें.
व्यवस्थित करें
इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने से बचने के लिए, हमारा सुझाव है कि आप Cloud प्रोजेक्ट मिटा दें.
- Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > IAM और एडमिन > संसाधन मैनेज करें पर क्लिक करें.
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
मिलते-जुलते विषय
- Gemini के एआई चैट ऐप्लिकेशन के साथ हुई बातचीत के आधार पर सवालों के जवाब देना
- Google Chat, Vertex AI, और Apps Script की मदद से, समस्याओं का जवाब देना