📝
Googleフォームの内容をGASでSlackに通知する
ググれば山ほど出てくるような内容ですが、備忘録のために記載
GAS
function postSlack(attachments) {
const slackWebHookUrl = "(slack webhook url)";
const payload = {
"username": "Googleフォーム通知",
"channel": '#channel_name',
"attachments": attachments
};
const params = {
"method" : "POST",
"payload" : JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(slackWebHookUrl, params);
}
function onFormSubmit(e){
const user = e.response.getRespondentEmail();
const itemResponses = e.response.getItemResponses();
const slackAttachments = [{
"pretext": `${user} から投稿がありました`
}];
const fields = [];
itemResponses.forEach(function(r){
fields.push({
"title": r.getItem().getTitle(),
"value": r.getResponse(),
"short": true
})
});
slackAttachments.push({
"fields": fields,
"color": "#43A9D4"
});
postSlack(slackAttachments);
}
トリガーを設定
以下のように設定
以上
Discussion