LANG SELRCT

コードを書く場所

2019年5月20日月曜日

スクリプトに登録されているトリガーを取得したい


自分がトリガーに登録している関数を取得するコードは



コード.gs
function getTriggesr() {
  var allTriggers = ScriptApp.getProjectTriggers();
  var triggers = [];
  for (var i = 0; i < allTriggers.length; i++) {
    var triggerName = allTriggers[i].getHandlerFunction();
    triggers.push(triggerName)
    }
  Logger.log(triggers);
}


補足

ScriptApp.getProjectTriggers()で
このスクリプトのプロジェクト内のトリガーをすべて取得できそうな気がしましたが
自分が登録している以外のトリガーは取得できませんでした。

チームで運用する場合の課題として
自分以外の誰かがトリガーを設定しているときに
誰が設定しているのか確認する方法が知りたいけれどその方法は不明。

誰かまではわからないまでも
どんなトリガーが登録されているかを知る方法は見つました。


その方法

1. 対象のプロジェクトでトリガーを開きます


2. オーナー:自分でフィルタがかかっているのでそのフィルタを外します
3. 自分以外のユーザが登録しているトリガーが表示されます

「他のユーザー」が「どのユーザー」なのか特定する方法がわかったら追記します
(ここで表示されていない時点で、Adminじゃないとできない気もする)


参考

getProjectTriggers()
https://developers.google.com/apps-script/reference/script/script-app#getProjectTriggers()