Script to trigger new GitHub issue creation on new Google Web Form user's submit.

Signed-off-by: Max Risuhin <risuhin.max@gmail.com>
This commit is contained in:
Max Risuhin 2018-09-02 22:33:33 +03:00
parent eb37299f48
commit 4ef4cb4be0
No known key found for this signature in database
GPG Key ID: BF733F5ACA0B4448
1 changed files with 38 additions and 0 deletions

38
Code.js Normal file
View File

@ -0,0 +1,38 @@
var ISSUE_TYPE_COLUMN = 0;
var DESCRIPTION_COLUMN = 1;
var GOOGLE_DISK_URL_COLUMN = 2;
var scriptProperties = PropertiesService.getScriptProperties();
function valueByIdx(responses, columnIdx) {
return responses[columnIdx].getResponse();
}
function onFormSubmit(e) {
var itemResponses = e.response.getItemResponses();
var title = "StatusIm Desktop issue";
var fileURL = "\n https://drive.google.com/open?id=";
if (valueByIdx(itemResponses, GOOGLE_DISK_URL_COLUMN).constructor === Array) {
fileURL = fileURL + valueByIdx(itemResponses, GOOGLE_DISK_URL_COLUMN).join(fileURL);
} else {
fileURL = fileURL + valueByIdx(itemResponses, GOOGLE_DISK_URL_COLUMN);
}
var body = "<strong>Issue type:</strong> " + valueByIdx(itemResponses, ISSUE_TYPE_COLUMN) + "\n" +
"<strong>Description:</strong> " + valueByIdx(itemResponses, DESCRIPTION_COLUMN) + "\n" +
"<strong>Uploaded files:</strong> " + fileURL + "\n";
var payload = {
"title": title,
"body": body
};
var options = {
"method": "POST",
"contentType": "application/json",
"payload": JSON.stringify(payload)
};
var response = UrlFetchApp.fetch("https://api.github.com/repos/status-im/status-react-desktop-reports/issues?access_token=" + scriptProperties.getProperty('GitHubToken'), options);
}