Created
August 10, 2016 22:10
-
-
Save andrewroberts/147d499725b28078b857c3d652c20df0 to your computer and use it in GitHub Desktop.
Log and clear the contents of Apps Script properties, triggers, etc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Clear all of the config | |
*/ | |
function clearConfig() { | |
Logger.log('Delete Local Script Properties:') | |
if (PropertiesService.getScriptProperties() !== null) { | |
Logger.log(PropertiesService.getScriptProperties().deleteAllProperties()) | |
Logger.log(' Deleted') | |
} else { | |
Logger.log(' None') | |
} | |
Logger.log('Delete Local NPT Doc Properties:') | |
if (PropertiesService.getDocumentProperties() !== null) { | |
Logger.log(PropertiesService.getDocumentProperties().deleteAllProperties()) | |
Logger.log(' Deleted') | |
} else { | |
Logger.log(' None') | |
} | |
Logger.log('Delete Local NPT User Properties:') | |
if (PropertiesService.getUserProperties() !== null) { | |
Logger.log(PropertiesService.getUserProperties().deleteAllProperties()) | |
Logger.log(' Deleted') | |
} else { | |
Logger.log(' None') | |
} | |
var triggers = ScriptApp.getProjectTriggers() | |
Logger.log('Current project has ' + triggers.length + ' project triggers.') | |
deleteTriggers(triggers) | |
var document = DocumentApp.getActiveDocument() | |
if (document) { | |
triggers = ScriptApp.getUserTriggers(document) | |
Logger.log('Current project has ' + triggers.length + ' user document triggers.') | |
deleteTriggers(triggers) | |
} else { | |
Logger.log(' There is no documents associated with this script, so no triggers') | |
} | |
var form = FormApp.getActiveForm(); | |
if (form) { | |
triggers = ScriptApp.getUserTriggers(form) | |
Logger.log('Current project has ' + triggers.length + ' user form triggers.') | |
deleteTriggers(triggers) | |
} else { | |
Logger.log(' There is no forms associated with this script, so no triggers') | |
} | |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet() | |
if (spreadsheet) { | |
triggers = ScriptApp.getUserTriggers(spreadsheet) | |
Logger.log('Current project has ' + triggers.length + ' user spreadsheet triggers.') | |
deleteTriggers(triggers) | |
} else { | |
Logger.log(' There is no spreadsheets associated with this script, so no triggers') | |
} | |
// Private Functions | |
// ----------------- | |
function deleteTriggers(triggers) { | |
triggers.forEach(function(trigger) { | |
Logger.log(' Deleting trigger: ' + trigger.getUniqueId()) | |
ScriptApp.deleteTrigger(trigger) | |
}) | |
} | |
} // clearConfig() | |
/** | |
* Dump all of the local config | |
*/ | |
function dumpConfig() { | |
var values | |
Logger.log('Local Script Properties:') | |
var properties = PropertiesService.getScriptProperties() | |
if (properties !== null) { | |
values = properties.getProperties() | |
for (var key in values) { | |
Logger.log(' ' + key + ' : ' + values[key]) | |
} | |
} else { | |
Logger.log(' None') | |
} | |
Logger.log('Local Doc Properties:') | |
var properties = PropertiesService.getDocumentProperties() | |
if (properties !== null) { | |
values = properties.getProperties() | |
for (var key in values) { | |
Logger.log(' ' + key + ' : ' + values[key]) | |
} | |
} else { | |
Logger.log(' None') | |
} | |
Logger.log('Local User Properties:') | |
var properties = PropertiesService.getUserProperties() | |
if (PropertiesService.getUserProperties() !== null) { | |
values = properties.getProperties() | |
for (var key in values) { | |
Logger.log(' ' + key + ' : ' + values[key]) | |
} | |
} else { | |
Logger.log(' None') | |
} | |
var triggers = ScriptApp.getProjectTriggers() | |
Logger.log('Current project has ' + triggers.length + ' project triggers.') | |
dumpTriggers(triggers) | |
var document = DocumentApp.getActiveDocument() | |
if (document) { | |
triggers = ScriptApp.getUserTriggers(document) | |
Logger.log('Current project has ' + triggers.length + ' user document triggers.') | |
dumpTriggers(triggers) | |
} else { | |
Logger.log(' There is no documents associated with this script, so no triggers') | |
} | |
var form = FormApp.getActiveForm(); | |
if (form) { | |
triggers = ScriptApp.getUserTriggers(form) | |
Logger.log('Current project has ' + triggers.length + ' user form triggers.') | |
dumpTriggers(triggers) | |
} else { | |
Logger.log(' There is no forms associated with this script, so no triggers') | |
} | |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet() | |
if (spreadsheet) { | |
triggers = ScriptApp.getUserTriggers(spreadsheet) | |
Logger.log('Current project has ' + triggers.length + ' user spreadsheet triggers.') | |
dumpTriggers(triggers) | |
} else { | |
Logger.log(' There is no spreadsheets associated with this script, so no triggers') | |
} | |
return | |
// Private Functions | |
function dumpTriggers(triggers) { | |
triggers.forEach(function(trigger) { | |
Logger.log(' ID: ' + trigger.getUniqueId()) | |
Logger.log(' Source ID: ' + trigger.getTriggerSourceId()) | |
Logger.log(' Source: ' + trigger.getTriggerSource()) | |
Logger.log(' Handler Function: ' + trigger.getHandlerFunction()) | |
Logger.log(' Event Type: ' + trigger.getEventType()) | |
}) | |
} // dumpConfig.dumpTriggers() | |
} // dumpConfig() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment