Last active
August 25, 2020 07:34
-
-
Save nrm176/f3281e0a0151f211d59824ea2f3e27c6 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 setUpTrigger(){ | |
ScriptApp.newTrigger('submit').forForm('Your Google Form ID').onFormSubmit().create(); | |
} | |
function submit(event) { | |
var itemResponses = event.response.getItemResponses(); | |
var order = ''; | |
var firstName = ''; | |
var lastName = ''; | |
for (var i = 0; i < itemResponses.length; i++) { | |
var itemResponse = itemResponses[i]; | |
var question = itemResponse.getItem().getTitle(); | |
var type = itemResponse.getItem().getType(); | |
var answer = itemResponse.getResponse(); | |
if (question === 'お名前(姓)をご入力ください'){ | |
lastName = answer; | |
} | |
else if (question === 'お名前(名)をご入力ください') { | |
firstName = answer; | |
} | |
if(type == 'GRID'){ // typeはEnumのため比較演算子を使う | |
var rows = itemResponse.getItem().asGridItem().getRows(); | |
for(var j = 0; j < rows.length; j++){ | |
var titleRow = rows[j]; | |
var answerCol = answer[j]; | |
order += titleRow + ' : ' + answerCol + '\n'; | |
} | |
} | |
} | |
var message = order | |
message += '名前: ' + lastName + firstName + JSON.stringify(getItemSummary(event)); | |
notifySlack({ message: message }) | |
} | |
// 回答したフォームに配置されているアイテム全てをオブジェクトに変換する | |
function getItemSummary(event) { | |
var items = event.source.getItems(); | |
var sourceSummary = []; | |
for (var i = 0; i < items.length; i++) { | |
var item = items[i] | |
var title = item.getTitle(); | |
var type = item.getType() + ''; | |
var helpText = item.getHelpText(); | |
var summary = { | |
title: title, | |
type: type, | |
helpText: helpText, | |
} | |
sourceSummary.push(summary) | |
} | |
return sourceSummary | |
} | |
function notifySlack(opt) { | |
var WEBHOOK_URL = ''; // Slackで取得したweb hook url | |
var options = opt || {} | |
var jsonData = { | |
"username": options.botName || '通知', | |
"text": options.message || "送信テスト", | |
"icon_emoji": options.botIcon || ':bird:' | |
}; | |
var payload = JSON.stringify(jsonData); | |
UrlFetchApp.fetch(WEBHOOK_URL, {"method": "post", "payload": payload}); | |
} | |
// Useful Links | |
// https://www.youtube.com/watch?v=vYQE9ltt2Yg | |
// https://qiita.com/harhogefoo/items/6b20ed9e6779c3d4c48d |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment