function parseEmailMessages(sheetName) { //initialize emails and spreadsheet var threads = GmailApp.getInboxThreads(0, 500); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName); var sRange = sheet.getDataRange(); var lastRow = sRange.getNumRows() + 1; var firstCol = 1; var mergedCol = 3; var progressCol = 4; var newCol = 5; var workedCol = 6; var gLabel = GmailApp.getUserLabelByName("Github"); var mIssues = ""; var numM = 0; var mIssue = ""; var nIssue = ""; var nIssues = ""; var numN = 0; var pIssue = ""; var pIssues = ""; var numP = 0; Logger.log("Will print to row: " + lastRow); for (var i = 0; i < threads.length; i++) { // Get on of the email message in threads var tmp, message = threads[i].getMessages()[0], subject = message.getSubject(), content = message.getPlainBody(); // Get the plain text body of the email message and add it to for (var j=1; j -1){ if (content.indexOf("Merged #") > -1){ mIssue=subject.substring(subject.indexOf("QA"), subject.indexOf("QA")+7); Logger.log(mIssue + " Should be completed ticket... "); if (mIssues.indexOf(mIssue) < 0) { mIssues+= mIssue + " MERGED " + "\n"; numM++; } } threads[i].markRead(); threads[i].addLabel(gLabel); threads[i].moveToArchive(); } //checking for new tickets else if (subject.indexOf("[zooxco/driving]") > -1){ if (content.indexOf("commented on this pull request") > -1){ pIssue=content.substring(content.indexOf("QA"), content.indexOf("QA")+7); Logger.log(pIssue + " Should be in progress ticket " ); if (nIssues.indexOf(nIssue) < 0) { pIssues+= pIssue + " INPROGRESS " + "\n"; numP++; } } else if (content.indexOf("**Description:**") > -1){ nIssue=content.substring(content.indexOf("QA"), content.indexOf("QA")+7); Logger.log(nIssue + " Should be new ticket " ); if (nIssues.indexOf(nIssue) < 0) { nIssues+= nIssue + "\n"; numN++; } } threads[i].markRead(); threads[i].addLabel(gLabel); threads[i].moveToArchive(); } // end subject-search if loop } // end content-unread if loop } // End for loop looking at emails //log findings Logger.log(mIssues+ "\n <-> " + numM); Logger.log(nIssues+ "\n <-> " + numN); if (numM == 0 && numN == 0){ Logger.log("no new messages found"); return -1; } //write data to sheet sheet.getRange(lastRow, firstCol).setValue(new Date()).setNumberFormat('MMM dd yyyy'); sheet.getRange(lastRow, mergedCol).setValue(numM); sheet.getRange(lastRow, progressCol).setValue(numP); sheet.getRange(lastRow, newCol).setValue(numN); sheet.getRange(lastRow, workedCol).setValue(mIssues + '\n' + nIssues + '\n' + pIssues); return 0; } function main(){ parseEmailMessages("Caleb Weekly Report"); return 0; }