У меня есть форма Google, которая заполняется для запросов технической поддержки рабочего стола.Мне нужно, чтобы эти данные вводились в определенные поля в нашей системе продажи билетов Kace для билетов службы поддержки.(Сейчас все вручную. Мне нужно брать данные и создавать заявки вручную из отправленных данных формы)
Я буду использовать @variables для каждого поля формы, которое я хочу сопоставить в моей системе создания билетов Kace.
Какой сценарий мне нужно будет ввести для отправки этих @variables в Kace?У меня есть адрес электронной почты, который назначен очереди билетов.
Вот текущий скрипт, который выполняется на листе Google и содержит информацию, предоставленную пользователями, заполнившими форму Google.
function formSubmitReply(e) {
var userEmail = e.values[3];
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
// Set the status of the new ticket to 'New'.
// Column F is the Status column
sheet.getRange(lastRow, getColIndexByName("Status")).setValue("New");
// Calculate how many other 'New' tickets are ahead of this one
var numNew = 0;
for (var i = 2; i < lastRow; i++) {
if (sheet.getRange(i, getColIndexByName("Status")).getValue() == "New") {
numNew++;
}
}
MailApp.sendEmail(userEmail,
"Helpdesk Ticket #" + lastRow,
"Thanks for submitting your issue. \n\nWe'll start " +
"working on it as soon as possible. You are currently " +
"number " +
(numNew + 1) + " in the queue. \n\nD75 Tech Team.",
{name:"D75 Tech Help"});
}
function getColIndexByName(colName) {
var sheet = SpreadsheetApp.getActiveSheet();
var numColumns = sheet.getLastColumn();
var row = sheet.getRange(1, 1, 1, numColumns).getValues();
for (i in row[0]) {
var name = row[0][i];
if (name == colName) {
return parseInt(i) + 1;
}
}
return -1;
}
function emailStatusUpdates() {
var sheet = SpreadsheetApp.getActiveSheet();
var row = sheet.getActiveRange().getRowIndex();
var userEmail = sheet.getRange(row, getColIndexByName("Email Address")).getValue();
var subject = "Helpdesk Ticket #" + row;
var body = "We've updated the status of your ticket.\n\nStatus: " + sheet.getRange(row, getColIndexByName("Status")).getValue();
body += "\n\nProblem: " + sheet.getRange(row, getColIndexByName("Please describe the problem you are experiencing")).getValue();
body += "\n\nNotes: " + sheet.getRange(row, getColIndexByName("Notes")).getValue();
body += "\n\nResolution: " + sheet.getRange(row, getColIndexByName("Resolution")).getValue();
MailApp.sendEmail(userEmail, subject, body, {name:"D75 Tech Help"});
}
function onOpen() {
var subMenus = [{name:"Send Status Email", functionName: "emailStatusUpdates"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Help Desk Menu", subMenus);
}