दूसरे डेवलपर के साथ मिलकर काम करना

Apps Script में कुछ ऐसी सुविधाएं हैं जिनकी मदद से आप और दूसरे डेवलपर, स्क्रिप्ट, ऐड-ऑन, और वेब ऐप्लिकेशन बना सकते हैं और उनका रखरखाव कर सकते हैं.

मिलकर काम करने की बुनियादी बातें

किसी प्रोजेक्ट पर सहयोग करने के लिए, आपके और आपके सहयोगकर्ताओं के पास Apps Script प्रोजेक्ट फ़ाइल (और इसके कंटेनर) का ऐक्सेस होना चाहिए, अगर वह बाउंड स्क्रिप्ट हो. इससे आपकी टीम के सभी लोग Apps Script कोड देख सकते हैं और उसमें बदलाव कर सकते हैं. एडिटर, नए कोड वर्शन बना सकते हैं और ऐड-ऑन पब्लिश कर सकते हैं. साथ ही, Apps Script API के लिए स्क्रिप्ट को वेब ऐप्लिकेशन या एक्ज़ीक्यूटेबल के तौर पर डिप्लॉय कर सकते हैं.

आप पहले से ही अपने प्लान, बदलाव, समीक्षा, वर्शन, और (अगर लागू हो) अपने प्रोजेक्ट के डिप्लॉयमेंट, प्रकाशन, और ऐड-ऑन या वेब ऐप्लिकेशन को मैनेज करने का तरीका तय करके, अपनी टीम की मदद कर सकते हैं. आम तौर पर, स्टैंडअलोन प्रोजेक्ट आसानी से मिलकर काम करते हैं, क्योंकि ये सीधे Google Drive में दिखते हैं और ऐड-ऑन और वेब ऐप्लिकेशन में अपग्रेड करने के लिए सुझाए गए प्रोजेक्ट टाइप हैं.

एक आम समस्या तब आती है, जब स्क्रिप्ट प्रोजेक्ट का मालिक टीम के किसी दूसरे व्यक्ति को प्रोजेक्ट का मालिकाना हक ट्रांसफ़र किए बिना टीम छोड़ देता है. इसकी वजह से, प्रोजेक्ट को मैनेज नहीं किया जा सकता या उसे अपडेट नहीं किया जा सकता. स्क्रिप्ट प्रोजेक्ट को किसी शेयर की गई ड्राइव में रखने से यह समस्या नहीं आती, क्योंकि 'शेयर की गई ड्राइव' की फ़ाइलों के मालिक नहीं होते.

clasp कमांड लाइन टूल के साथ मिलकर काम करना

clasp की मदद से आप प्रोजेक्ट को script.google.com और अपने लोकल फ़ाइल सिस्टम के बीच सिंक कर सकते हैं. अगर आप और आपके सहयोगी git जैसे स्रोत नियंत्रण प्रबंधन सॉफ़्टवेयर का उपयोग कर रहे हैं, तो यह आपके कोड विकास को आसान और कारगर बनाने देता है.

ज़्यादा जानकारी के लिए, clasp गाइड का इस्तेमाल करके कमांड लाइन इंटरफ़ेस देखें.

शेयर की गई ड्राइव के साथ मिलकर काम करना

शेयर की गई ड्राइव (जिसे पहले "टीम ड्राइव" के नाम से जाना जाता था) Google Drive में शेयर की गई जगह देती हैं, जहां 'डिस्क' के उपयोगकर्ता ज़्यादा आसानी से सहयोग कर सकते हैं. शेयर की गई ड्राइव में रखी गई फ़ाइलों का मालिकाना हक, पूरे व्यक्ति के बजाय पूरे ग्रुप के पास होता है. इसका मतलब है कि जब कोई सहयोगी किसी ग्रुप को छोड़ता है, तो वह उस फ़ाइल का मालिकाना हक और उसे कंट्रोल नहीं करता.

'शेयर की गई ड्राइव' की मदद से आप डोमेन में भी फ़ाइलों को एक से दूसरी जगह ले जा सकते हैं. एक डोमेन में मौजूद 'शेयर की गई ड्राइव' में, किसी दूसरे डोमेन के सहयोगी भी शामिल हो सकते हैं. संगठन से जुड़े लोग, उस डोमेन से फ़ाइलों को शेयर की गई ड्राइव में ले जा सकते हैं. यह Apps Script डेवलपर के लिए बहुत फ़ायदेमंद हो सकता है, क्योंकि यह टीम के लिए अलग-अलग डोमेन में ग्राहकों के लिए ऐड-ऑन, वेब ऐप्लिकेशन या अन्य कोड डेवलप करने का तरीका बताता है.

Apps Script प्रोजेक्ट पर मिलकर काम करने के लिए, शेयर की गई ड्राइव का इस्तेमाल करते समय इन बातों का ध्यान रखें:

  1. जिन सहयोगियों के पास 'शेयर की गई ड्राइव' का ऐक्सेस है, वे नई फ़ाइलें बना सकते हैं या शेयर कर सकते हैं. स्क्रिप्ट एडिटर के तौर पर, वे स्क्रिप्ट प्रोजेक्ट देख और उनमें बदलाव कर सकते हैं, स्क्रिप्ट कोड चला सकते हैं, स्क्रिप्ट के नए वर्शन बना सकते हैं, ऐड-ऑन प्रकाशित कर सकते हैं.
  2. Apps Script API के लिए स्क्रिप्ट को वेब ऐप्लिकेशन या एक्ज़ीक्यूटेबल के तौर पर डिप्लॉय करने के लिए, डिप्लॉयमेंट वाला खाता उसी डोमेन से जुड़ा होना चाहिए जिसमें शेयर की गई ड्राइव मौजूद है.
  3. 'शेयर की गई ड्राइव' की मदद से आप, 'शेयर की गई ड्राइव' में मौजूद खास फ़ाइलों को, ग्रुप से बाहर के दूसरे लोगों के साथ शेयर कर सकते हैं. साथ ही, आप उन फ़ाइलों में बदलाव करने और उन्हें देखने की अनुमतियों को भी Drive की किसी दूसरी फ़ाइल की तरह अपडेट कर सकते हैं. हालांकि, अगर उपयोगकर्ता किसी 'शेयर की गई ड्राइव' की टीम का हिस्सा है, तो आप खास फ़ाइलों के लिए उसका ऐक्सेस कम नहीं कर सकते. उदाहरण के लिए, अगर किसी उपयोगकर्ता के पास 'शेयर की गई ड्राइव' में बदलाव करने का ऐक्सेस है, तो आप उसे 'शेयर की गई ड्राइव' में मौजूद किसी खास फ़ाइल के लिए 'सिर्फ़ देखने का ऐक्सेस' में बदल सकते हैं.
  4. जिन सहयोगियों के पास 'शेयर की गई ड्राइव' का पूरा ऐक्सेस है वे ऊपर बताई गई अनुमतियों के अलावा, फ़ाइलों और Apps Script प्रोजेक्ट को मिटा सकते हैं. साथ ही, वे अपनी फ़ाइलों को 'शेयर की गई ड्राइव' से बाहर भी भेज सकते हैं.
  5. सभी कंटेनर-बाइंड स्क्रिप्ट में एक जैसे व्यूअर और एडिटर ऐक्सेस सूचियों का इस्तेमाल होता है, जो कंटेनर फ़ाइल के लिए तय होती हैं. उदाहरण के लिए, अगर आपके पास किसी Google शीट में बदलाव करने का ऐक्सेस है, तो आप उससे जुड़े किसी भी Apps Script प्रोजेक्ट कोड में भी बदलाव कर सकते हैं. ऐसी कंटेनर फ़ाइल को 'शेयर की गई ड्राइव' में रखने से, 'शेयर की गई ड्राइव' और उसके सहयोगियों को स्क्रिप्ट कोड का वही ऐक्सेस मिलता है जो कंटेनर के लिए मिलता है.
  6. जब कोई स्क्रिप्ट प्रोजेक्ट शेयर की गई ड्राइव में होता है, तो उसके Cloud Platform (GCP) प्रोजेक्ट के ऐक्सेस पर पाबंदी लगाई जा सकती है. ज़्यादा जानकारी के लिए, जीसीपी प्रोजेक्ट और शेयर की गई ड्राइव गाइड सेक्शन देखें.
  7. अगर किसी डोमेन में 'शेयर की गई ड्राइव' या खाते का मालिकाना हक अलग-अलग डोमेन में बदल जाता है, तो एक डोमेन में डिप्लॉय किए गए वेब ऐप्लिकेशन काम करना बंद कर देते हैं. इसे ठीक करके, स्क्रिप्ट को उसके मूल डोमेन पर वापस ले जाया जा सकता है.
  8. इसी तरह, स्क्रिप्ट प्रोजेक्ट जिन्हें ऐप्लिकेशन स्क्रिप्ट एपीआई के एक्ज़ीक्यूटेबल के तौर पर डिप्लॉय किया गया है, उन्हें एपीआई से कॉल किए जाने पर काम करना बंद कर दिया जाता है. ऐसा तब होता है, जब शेयर की गई ड्राइव से एक डोमेन से दूसरे डोमेन पर ले जाया गया हो. इसे फिर से अपने मूल डोमेन में ले जाकर, इसे ठीक किया जा सकता है.

प्रोजेक्ट शेयर करने के लिए, मिलकर काम करना

आप सभी सहयोगियों के साथ प्रोजेक्ट को सीधे शेयर करके किसी प्रोजेक्ट पर सहयोग कर सकते हैं. आप ऐसे स्क्रिप्ट प्रोजेक्ट सीधे शेयर कर सकते हैं जो सामान्य Google Drive फ़ोल्डर या शेयर की गई ड्राइव में रहते हैं. इस तरीके का इस्तेमाल करने पर, यह सुझाव दिया जाता है कि आप समय के साथ स्क्रिप्ट का मालिकाना हक रखने और उसका रखरखाव करने के बारे में सोच लें.

स्टैंडअलोन प्रोजेक्ट आपके Google Drive में फ़ाइल के तौर पर दिखते हैं. इन्हें किसी दूसरी फ़ाइल की तरह शेयर किया जा सकता है. ज़्यादा जानकारी के लिए, फ़ाइलें और फ़ोल्डर शेयर करना देखें.

कंटेनर-बाउंड प्रोजेक्ट आपके Google Drive से नहीं दिखते. कंटेनर-बाउंड प्रोजेक्ट शेयर करने के लिए, आपको पैरंट कंटेनर फ़ाइल शेयर करनी होगी. उदाहरण के लिए, अगर आपके पास Google शीट से जुड़ी स्क्रिप्ट है, तो आप किसी व्यक्ति को Google Sheets का संपादक बना सकते हैं. कंटेनर फ़ाइल की व्यूअर और एडिटर ऐक्सेस सेटिंग उस कंटेनर के सभी प्रोजेक्ट में इनहेरिट की जाती है.

साथ मिलकर काम और प्रोजेक्ट करना

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

मिलकर काम करना और Cloud Platform प्रोजेक्ट

हर Apps स्क्रिप्ट प्रोजेक्ट से जुड़ा Cloud Platform (GCP) प्रोजेक्ट होता है. जीसीपी प्रोजेक्ट के मालिक, एडिटर, और दूसरी भूमिकाएं होती हैं. ये भूमिकाएं उन उपयोगकर्ताओं से अलग हो सकती हैं जो स्क्रिप्ट प्रोजेक्ट को ऐक्सेस कर सकते हैं.

अगर आपका स्क्रिप्ट प्रोजेक्ट ऐड-ऑन के तौर पर पब्लिश किया जाना है, तो इसमें स्टैंडर्ड GCP प्रोजेक्ट का इस्तेमाल करना होगा. जब आप किसी ऐसे ऐप्लिकेशन पर मिलकर काम करते हैं जिसमें किसी स्टैंडर्ड GCP प्रोजेक्ट का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप GCP के मालिकों और उनकी भूमिकाओं को कॉन्फ़िगर करें, ताकि यह पक्का किया जा सके कि आपके सभी सहयोगियों के पास सही लेवल का ऐक्सेस हो. इससे, उन स्थितियों को रोकने में मदद मिलती है जिनमें प्रोजेक्ट की क्लाउड सेटिंग ऐक्सेस नहीं की जा सकती, क्योंकि इसके मालिक अब आपके संगठन से नहीं जुड़े हुए हैं. यह ऐड-ऑन के लिए खास तौर पर अहम होता है.

मिलकर काम करने और ट्रिगर करने से जुड़ी जानकारी

जब आप किसी प्रोजेक्ट पर मिलकर काम करते हैं, तो जो भी इंस्टॉल किए जा सकने वाले ट्रिगर बनाए जाते हैं उन्हें उन लोगों के साथ शेयर नहीं किया जाता है जिनके पास आपके प्रोजेक्ट का ऐक्सेस है. अगर आपको सभी सहयोगियों के लिए एक जैसा ट्रिगर सेट अप करना है, तो आप प्रोग्राम के हिसाब से ट्रिगर बनाने के लिए स्क्रिप्ट सेवा का इस्तेमाल कर सकते हैं. ज़्यादा जानकारी के लिए, ट्रिगर प्रोग्रामैटिक तरीके से मैनेज करना देखें.

मिलकर काम करना और लाइब्रेरी

आपके प्रोजेक्ट में शामिल लाइब्रेरी, प्रोजेक्ट सहयोगियों के लिए उपलब्ध हैं. हालांकि, अगर उनके पास किसी शामिल की गई लाइब्रेरी के लिए, कम से कम रीड-लेवल का ऐक्सेस नहीं है, तो वे उन लाइब्रेरी का इस्तेमाल नहीं कर सकते — स्क्रिप्ट इस मामले में गड़बड़ी की जानकारी देती है. लाइब्रेरी के बारे में ज़्यादा जानकारी के लिए, लाइब्रेरी मैनेज करना देखें.

सहयोग और उपयोगकर्ता प्रॉपर्टी

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