इंस्टॉल किए जा सकने वाले ट्रिगर

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

पाबंदियां

हालांकि, इंस्टॉल करने लायक ट्रिगर सामान्य ट्रिगर की तुलना में ज़्यादा सुविधाजनक होते हैं, फिर भी वे कई प्रतिबंधों के अधीन होते हैं:

  • अगर कोई फ़ाइल रीड-ओनली (व्यू या टिप्पणी) मोड में खोली जाती है, तो वह नहीं चलती. स्टैंडअलोन स्क्रिप्ट के लिए, उपयोगकर्ताओं को ट्रिगर करने के लिए कम से कम स्क्रिप्ट फ़ाइल को देखने की ज़रूरत होती है, ताकि वे ठीक से काम कर सकें.
  • स्क्रिप्ट चलाने और एपीआई अनुरोधों की वजह से ट्रिगर नहीं चलते. उदाहरण के लिए, नए फ़ॉर्म के जवाब सबमिट करने के लिए FormResponse.submit() को कॉल करने से, फ़ॉर्म सबमिट करने का ट्रिगर नहीं चलता.

  • इंस्टॉल किए जा सकने वाले ट्रिगर हमेशा उस व्यक्ति के खाते में चलते हैं जिसने उन्हें बनाया है. उदाहरण के लिए, अगर आप कोई ऐसा ओपन ट्रिगर बनाते हैं जिसे इंस्टॉल किया जा सकता हो, तो यह तब चलता है, जब आपके सहकर्मी दस्तावेज़ को खोलते हैं (अगर आपके सहकर्मी के पास बदलाव करने का ऐक्सेस है), लेकिन वह आपके खाते के तौर पर चलता है. इसका मतलब है कि अगर आप दस्तावेज़ खोलने पर ईमेल भेजने के लिए ट्रिगर बनाते हैं, तो ईमेल हमेशा आपके खाते से भेजा जाता है, ज़रूरी नहीं कि खाते को भी भेजा जाए. हालांकि, आप हर खाते के लिए इंस्टॉल किया जा सकने वाला एक ट्रिगर बना सकते हैं. ऐसा करने पर हर खाते से एक ईमेल भेजा जाएगा.

  • किसी खाते को किसी दूसरे खाते से इंस्टॉल किए गए ट्रिगर नहीं दिखते. हालांकि, पहले खाते से वे ट्रिगर अब भी चालू किए जा सकते हैं.

  • इंस्टॉल किए जा सकने वाले ट्रिगर, Apps Script ट्रिगर कोटा की सीमाओं पर निर्भर होते हैं.

समय के अनुसार ट्रिगर

समय के हिसाब से ट्रिगर (इसे घड़ी ट्रिगर भी कहा जाता है), यूनिक्स में क्राउन जॉब की तरह है. समय से चलने वाले ट्रिगर से स्क्रिप्ट किसी खास समय पर या बार-बार होने वाले इंटरवल पर, हर मिनट या महीने में कम से कम एक बार एक्ज़ीक्यूट होने पर ट्रिगर होने की सुविधा देती हैं. (ध्यान दें कि ऐड-ऑन, हर घंटे में ज़्यादा से ज़्यादा एक बार समय के हिसाब से ट्रिगर का इस्तेमाल कर सकता है. समय क्रम में थोड़ा-सा बदला जा सकता है — उदाहरण के लिए, अगर सुबह 9 बजे का ट्रिगर बनाया जाता है, तो 'ऐप्लिकेशन स्क्रिप्ट' सुबह 9 बजे और 10 बजे के बीच का समय चुनता है, फिर उस समय को हर दिन के हिसाब से बनाए रखता है, ताकि ट्रिगर फिर से चालू होने से पहले 24 घंटे बीत जाए.

इवेंट-ड्रिवन ट्रिगर

सैद्धांतिक तौर पर, इवेंट-ड्रिवन ट्रिगर, onOpen() जैसे आसान ट्रिगर के जैसे ही होते हैं, लेकिन वे किसी और इवेंट के जवाब दे सकते हैं और वे अलग-अलग तरीके से काम करते हैं.

उदाहरण के लिए, जब भी कोई ऐसा उपयोगकर्ता किसी स्प्रेडशीट को खोलता है जिसके पास बदलाव करने का ऐक्सेस होता है, तो Google Sheets के लिए इंस्टॉल किया जा सकने वाला ओपन ट्रिगर सामान्य onOpen() ट्रिगर की तरह चालू हो जाता है. हालांकि, इंस्टॉल किए जा सकने वाले वर्शन में, ऐसी सेवाओं के लिए कॉल किया जा सकता है जिनके लिए अनुमति ज़रूरी हो. इंस्टॉल करने लायक वर्शन ट्रिगर बनाने वाले उपयोगकर्ता की अनुमति मिलने पर चलता है, भले ही बदलाव करने का ऐक्सेस रखने वाला कोई अन्य उपयोगकर्ता स्प्रेडशीट खोले.

ऐप्लिकेशन के लिए Google Workspace इंस्टॉल करने लायक कई ट्रिगर हैं:

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

आप स्टैंडअलोन ट्रिगर और बाइंड स्क्रिप्ट में इंस्टॉल किए जा सकने वाले ट्रिगर का इस्तेमाल कर सकते हैं. उदाहरण के लिए, स्टैंडअलोन स्क्रिप्ट, प्रोग्राम के ज़रिए आर्बिट्ररी Google Sheets फ़ाइल के लिए, इंस्टॉल करने लायक ट्रिगर बना सकती है. इसके लिए, TriggerBuilder.forSpreadsheet(key) को कॉल करें और स्प्रेडशीट के आईडी में पास करें.

ट्रिगर को मैन्युअल तौर पर मैनेज करना

स्क्रिप्ट एडिटर में मैन्युअल रूप से इंस्टॉल किया जा सकने वाला ट्रिगर बनाने के लिए, यह तरीका अपनाएं:

नया एडिटर

  1. अपना Apps Script प्रोजेक्ट खोलें.
  2. बाईं ओर, ट्रिगर पर क्लिक करें.
  3. नीचे दाईं ओर, ट्रिगर जोड़ें पर क्लिक करें.
  4. आपको जिस तरह का ट्रिगर बनाना है उसे चुनें और कॉन्फ़िगर करें.
  5. सेव करें पर क्लिक करें.

लेगसी एडिटर

  1. स्क्रिप्ट एडिटर में, > मौजूदा प्रोजेक्ट में बदलाव करें चुनें.
  2. लिंक पर क्लिक करें: कोई ट्रिगर सेट अप नहीं किया गया है. इसे अभी जोड़ने के लिए, यहां क्लिक करें.
  3. चलाएं में, उस फ़ंक्शन का नाम चुनें जिसे ट्रिगर करना है.
  4. इवेंट में, समय के हिसाब से या वह Google ऐप्लिकेशन चुनें जिसमें स्क्रिप्ट जुड़ी है (उदाहरण के लिए, स्प्रेडशीट से).
  5. आपको जिस तरह का ट्रिगर बनाना है उसे चुनें और कॉन्फ़िगर करें. उदाहरण के लिए, हर घंटे वाला घंटा टाइमर या चालू होने पर ट्रिगर चालू करें.
  6. इसके अलावा, आपके ट्रिगर किए गए फ़ंक्शन के काम न करने पर, ईमेल से आपसे कैसे और कब संपर्क किया जाए, यह कॉन्फ़िगर करने के लिए सूचनाएं पर क्लिक करें.
  7. सेव करें पर क्लिक करें.

प्रोग्राम के हिसाब से ट्रिगर मैनेज करना

स्क्रिप्ट सेवा की मदद से भी प्रोग्राम के साथ ट्रिगर बनाए जा सकते हैं और मिटाए जा सकते हैं. ScriptApp.newTrigger(functionName) पर कॉल करके शुरू करें, जो TriggerBuilder दिखाता है.

इस उदाहरण में दिखाया गया है कि दो समय पर आधारित ट्रिगर कैसे बनाए जाते हैं—एक ट्रिगर जो हर छह घंटे पर सक्रिय होता है और दूसरा, जो हर सोमवार को सुबह 9 बजे सक्रिय होता है (उस समय क्षेत्र में, जहां आपकी स्क्रिप्ट सेट है).

ट्रिगर/trigger.gs
/**
 * Creates two time-driven triggers.
 * @see https://developers.google.com/apps-script/guides/triggers/installable#time-driven_triggers
 */
function createTimeDrivenTriggers() {
  // Trigger every 6 hours.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .everyHours(6)
      .create();
  // Trigger every Monday at 09:00.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .onWeekDay(ScriptApp.WeekDay.MONDAY)
      .atHour(9)
      .create();
}

अगले उदाहरण में, स्प्रेडशीट के लिए इंस्टॉल किया जा सकने वाला ओपन ट्रिगर बनाने का तरीका बताया गया है. ध्यान दें, इंस्टॉल करने लायक ट्रिगर के लिए स्क्रिप्ट, स्प्रेडशीट से बंधे होने की ज़रूरत नहीं है, जबकि आसान onOpen() ट्रिगर से अलग है. किसी स्टैंडअलोन स्क्रिप्ट से यह ट्रिगर बनाने के लिए, बस SpreadsheetApp.getActive() को SpreadsheetApp.openById(id) से कॉल करें.

ट्रिगर/trigger.gs
/**
 * Creates a trigger for when a spreadsheet opens.
 * @see https://developers.google.com/apps-script/guides/triggers/installable
 */
function createSpreadsheetOpenTrigger() {
  const ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('myFunction')
      .forSpreadsheet(ss)
      .onOpen()
      .create();
}

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

ट्रिगर/trigger.gs
/**
 * Deletes a trigger.
 * @param {string} triggerId The Trigger ID.
 * @see https://developers.google.com/apps-script/guides/triggers/installable
 */
function deleteTrigger(triggerId) {
  // Loop over all triggers.
  const allTriggers = ScriptApp.getProjectTriggers();
  for (let index = 0; index < allTriggers.length; index++) {
    // If the current trigger is the correct one, delete it.
    if (allTriggers[index].getUniqueId() === triggerId) {
      ScriptApp.deleteTrigger(allTriggers[index]);
      break;
    }
  }
}

ट्रिगर में गड़बड़ियां

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

इसके बजाय, Apps Script आपको इस तरह का ईमेल भेजता है:

From: apps-scripts-notifications@google.com
Subject: Summary of failures for Google Apps Script
Your script has recently failed to finish successfully.
A summary of the failure(s) is shown below.

ईमेल में ट्रिगर को बंद करने या फिर से कॉन्फ़िगर करने का लिंक शामिल होता है. अगर स्क्रिप्ट किसी Google Sheets, दस्तावेज़ या फ़ॉर्म फ़ाइल से बाइंड की गई है, तो ईमेल में उस फ़ाइल का लिंक भी शामिल होता है. इन लिंक की मदद से, ट्रिगर को बंद किया जा सकता है या गड़बड़ी को ठीक करने के लिए स्क्रिप्ट में बदलाव किए जा सकते हैं.

अपने Google खाते से जुड़े सभी ट्रिगर की समीक्षा करने और अपनी ज़रूरत के हिसाब से ट्रिगर को बंद करने के लिए यह तरीका अपनाएं:

नया एडिटर

  1. script.google.com पर जाएं.
  2. बाईं ओर, मेरे ट्रिगर पर क्लिक करें.
  3. किसी ट्रिगर को मिटाने के लिए, ट्रिगर की दाईं ओर, ज़्यादा > ट्रिगर मिटाएं पर क्लिक करें.

लेगसी एडिटर

  1. कोई भी स्क्रिप्ट खोलकर या script.google.com पर जाकर स्क्रिप्ट एडिटर खोलें.
  2. बदलाव करें > अपने सभी ट्रिगर पर क्लिक करें. अगर आपने हाल ही में नई स्क्रिप्ट बनाई है, तो स्क्रिप्ट एडिटर आपको स्क्रिप्ट को कोई नाम देने के लिए पहले कहता है.
  3. एक डायलॉग आपके खाते से जुड़े हर आसान या इंस्टॉल किए जा सकने वाले ट्रिगर को लिस्ट करता है. इस डायलॉग से यह पता नहीं किया जा सकता कि कौनसी स्क्रिप्ट किसी ट्रिगर का इस्तेमाल करती है. हालांकि, अगर आप इंस्टॉल किए जा सकने वाले किसी ट्रिगर के फ़ंक्शन के नाम को पहचानते हैं और आपको अब भी ट्रिगर की ज़रूरत नहीं है, तो आप फ़ंक्शन के नाम के बाईं ओर मौजूद X आइकॉन पर क्लिक करके ट्रिगर को मिटा सकते हैं. onOpen() जैसे आसान ट्रिगर को इस डायलॉग बॉक्स से बंद नहीं किया जा सकता; इसके बजाय, आपको सही फ़ंक्शन में बदलाव करना होगा और onOpen() फ़ंक्शन को हटाना या उसका नाम बदलना होगा.

ऐड-ऑन में इंस्टॉल किए जा सकने वाले ट्रिगर

ऐड-ऑन में इंस्टॉल किए जा सकने वाले ट्रिगर का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, ऐड-ऑन ट्रिगर देखें.