-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtriggers.gs
48 lines (41 loc) · 1.21 KB
/
triggers.gs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
* Trigger functions
*
* requires scope: "https://www.googleapis.com/auth/script.scriptapp"
*/
// day: ScriptApp.WeekDay.FRIDAY
function createWeeklyTrigger(funcName, day, hour) {
return ScriptApp.newTrigger(funcName)
.timeBased()
.atHour(hour)
.onWeekDay(day)
.create()
.getUniqueId();
}
function removeTriggerByName(funcName) {
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
if (triggers[i].getHandlerFunction() == funcName) {
ScriptApp.deleteTrigger(triggers[i]);
break;
}
}
}
function listTriggers() {
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
Logger.log("%s: %s", i, triggers[i].getHandlerFunction());
}
}
function nackOptionalEventsWeekly() {
Logger.log(nackEventsByTitle('optional', 1));
}
function installTrigger() {
Logger.log(createWeeklyTrigger('nackOptionalEventsWeekly', ScriptApp.WeekDay.MONDAY, 5));
}
function uninstallTrigger() {
Logger.log(removeTriggerByName('nackOptionalEventsWeekly'));
}
function installTriggerForm(formObject) {
return createWeeklyTrigger('nackEventsByTitle', formObject.day, formObject.hour);
}