Files
Gainsight/Google_Scripts/AE_Reminders_Daily.gs
Norm Rasmussen ec57068f6c syntax
2022-02-28 09:40:27 -05:00

130 lines
4.1 KiB
JavaScript

/*
Custom Fields:
Channel = customfield_10121
Campaign = customfield_10120
SDR = customfield_10122
Start Date = customfield_10015
Users:
Travis Nardin = 5d9cb42c0265ca0db955b965
Dan Peski = 603318815ddf020069969cad
Norm Rasmussen = 6092af20d353800068863d15
Michael Valido = 61fbf60cd8d7cf006a90941c
Jon Newfield = 6092af212c2f6c0068ec92c4
Isabel Katz = 620145241fec260068c107e5
Charles McGovern = 5eaaf1c4021ae30ba8fcb184
Nick Zuppe = 60eddda64257a90070aeebef
Doug Goldsmith = 61294a4845f753006951a590
Nick Appleby = 6183eab7892c420072f9c437
Quba Williams-Wilfong = 62101fe4e41f76006a6f6510
Without accounts: Adan, Drew
*/
function myFunction() {
var URL = "https://northpass.atlassian.net/rest/api/3/issue/";
// var accountID = "6092af20d353800068863d15";
var token = "2NrKYv22TLWnxTo7EhU3633E";
// var UserCredentials = Utilities.base64Encode(accountID + ":" + token);
var user = "nrasmussen@northpass.com";
// var pass = "c9QK\>4^fxiHt!";
var UserCredentials = Utilities.base64Encode(user + ":" + token);
// Setting up data range and empty arrays
var list = [];
const sheet = SpreadsheetApp.getActiveSheet();
var startRow = 244; // First col of data to process
var numRows = 450; // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn()).getValues();
// var data = dataRange.filter(function(r){
// return r.join("").length>0;
// });
for (col in dataRange) { // For a data col within the entire data range
var col = dataRange[col];
let sdr = col[0]; // Column - A
let name = col[1]; // Column - B
let rawDate = Utilities.formatDate(col[3], 'America/New_York', 'yyyy-MM-dd');
let bookingDate = Utilities.formatDate(col[2], 'America/New_York', 'MM/dd/yyyy'); // Column - C
let meetingDate = Utilities.formatDate(col[3], 'America/New_York', 'MM/dd/yyyy'); // Column - D
let company = col[4]; // Column - E
let channel = col[5]; // Column - F
let result = col[7]; // Column - H
let campaign = col[8]; // Column - I
let info = col[9]; // Column - J
let list = [sdr, name, rawDate ,bookingDate, meetingDate, company, channel, result, campaign, info];
list.toString();
Logger.log(list);
let sdrDict = {
"Mike" :
"61fbf60cd8d7cf006a90941c",
"Nick" :
"60eddda64257a90070aeebef",
"Appleby" :
"6183eab7892c420072f9c437",
"Doug" :
"61294a4845f753006951a590",
"Quba" :
"62101fe4e41f76006a6f6510",
};
if (list.includes("Norm")) {
var data = {
"fields": {
"project": {
"key": "NORMPIPE",
},
"issuetype": {
"id": "10268",
},
"summary": list[5],
"description": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Booked Date - " + list[3] + '\n' +
"Meeting Date - " + list[4] + '\n' +
"Description from Tracker: " + list[9] + '\n' +
"Last Status - " + list[7]
}
]
}
],
},
"customfield_10015": list[2], // Start (Meeting) Date - rawDate
"customfield_10120": [ // Campaign
list[8]
],
"customfield_10122": [{"id" : sdrDict[list[0]]}], // SDR
"customfield_10121": [ // Channel
list[6]
],
}
},
payload = JSON.stringify(data);
Logger.log(payload);
var headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Basic " + UserCredentials,
"muteHttpExceptions": true,
}
var options = {
"method": "POST",
"headers": headers,
"payload": payload
}
//Logger.log(options);
var response = UrlFetchApp.fetch(URL, options);
//Logger.log(response);
var respCode = response.getResponseCode();
//Logger.log(respCode);
}
}
};