【GAS:Google Apps Script】任意のトリガーが存在するか確認する

【GAS:Google Apps Script】任意のトリガーが存在するか確認する

GAS(Google Apps Script)の案件を手掛ける上でよく使い回す処理をファンクション化してみました。
コピーしてそのまま使うこともできますし、一部カスタマイズして使ってください。

「複数のサイトを横断的に見ないと答えにたどり着かない。。。」
そんな思いにこたえることができれば幸いです!

さて、今回は「任意のトリガーが存在するか確認する」処理の紹介です。

処理概要

任意のトリガーが存在するか確認する
【引数】
functionName : 存在するか確認したいトリガーのファンクション名(文字列)
【返り値】
存在するかどうか?(存在する:true, 存在しない:false)

ファンクション

function existsTrigger(functionName) {
  let triggers = ScriptApp.getProjectTriggers();
  for (let i = 0; i < triggers.length; i++) {
    let trigger = triggers[i];
    if (trigger.getHandlerFunction() == functionName) {
      return true;
    }
  }
  return false;
}

内部処理の説明

let triggers = ScriptApp.getProjectTriggers();

一旦全てのトリガーを取得し、triggers という変数に入れています。

for (let i = 0; i < triggers.length; i++) {

変数の triggers に入っているトリガー数分だけ繰返し処理をしています。

if (trigger.getHandlerFunction() == functionName) {
  return true;
}

トリガーのファンクション名が1つでも一致している場合は、true を返します。
処理が最後まで進んでしまった場合は該当のファンクション名のトリガーがないということで、false を返します。

まとめ

今回は簡単に「任意のトリガーが存在するか確認する」処理について紹介しました。

Google Apps Script は無料枠でも十分に使えとても便利です。
OSに依存せずに使えることから様々な環境で自動化・省力化してスローライフを楽しみましょう!

GASでの簡易システム制作に関するお問い合わせはこちらからお待ちしております。
LancersMENTAでも活動していますので、そちらからお仕事を依頼して頂けます。