Created
March 28, 2016 17:12
-
-
Save jrjames83/d96995a974f0dd84e1aa to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| function myFunction() { | |
| //https://developers.google.com/apps-script/reference/mail/mail-app#sendemailmessage | |
| var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
| var sheet = ss.getSheets()[0]; | |
| var charts = sheet.getCharts()[0]; | |
| var chart_image = charts.getAs("image/png").setName("hourly_chart") | |
| var d = new Date(); | |
| var currentTime = d.toLocaleTimeString(); | |
| Logger.log(chart_image); | |
| MailApp.sendEmail({ | |
| to: "xxx", | |
| cc: "aaa, aaa, aaa, aaa", | |
| subject: "Hourly Report Draft: " + currentTime, | |
| htmlBody: "Hourly Data: <br> <img src='cid:chartImage'><br>", | |
| inlineImages: | |
| { | |
| chartImage: chart_image | |
| } | |
| }); | |
| // getrange --> getvalues returns a nested array of strings | |
| function flatten(data) { | |
| var flattened = data.reduce(function(a, b) { | |
| return a.concat(b); | |
| }, []).map(function(val) { | |
| return Math.round(parseFloat(val)) | |
| }); | |
| return flattened; | |
| } | |
| // Using Named Ranges | |
| var last_week = flatten(SpreadsheetApp.getActiveSpreadsheet().getRangeByName('lastweek').getValues()); | |
| var last_year = flatten(SpreadsheetApp.getActiveSpreadsheet().getRangeByName('lastyear').getValues()); //.join(",\n") | |
| var today = flatten(SpreadsheetApp.getActiveSpreadsheet().getRangeByName('today').getValues()); | |
| var yoy_diff = "Realtime YoY Report: \n YoY Difference: \n"; | |
| for (var i = 0; i < 24; i++) { | |
| //Logger.log(today[i] - last_year[i]); | |
| var diff = today[i] - last_year[i]; | |
| yoy_diff += "Hour: " + i + " $" + diff + "\n"; | |
| } | |
| //Logger.log(yoy_diff); | |
| // Slack Set-up stuff | |
| var url = "https://hooks.slack.com/services/xxxxx/xxx/xxxx"; | |
| var payload = { | |
| "text": yoy_diff | |
| } | |
| // Sent to slack | |
| function sendToSlack_(url, payload) { | |
| var options = { | |
| "method": "post", | |
| "contentType": "application/json", | |
| "payload": JSON.stringify(payload) | |
| }; | |
| return UrlFetchApp.fetch(url, options) | |
| } | |
| // sendToSlack_(url, payload); // call func | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment