Slack에 Google 설문지의 결과를 알리고 싶습니다! – 2019년 버전
그러한 시대이기 때문에 정보의 일원 관리는 중요하다고 느낍니다.
이번에는 설문조사에서 자주 사용하는 GoogleForm을 사용하여 전송 후 Slack에 자동으로 전송되는 코드를 소개합니다. 라고 말해도 4류 이하의 스킬이기 때문에 큰 코드를 걸지 않는 것이 솔직한 곳입니다만. . 웃음
그래서 소개하고 있는 것은 앞으로 GAS를 기억하든가, GAS는 무엇인가? 라는 사람을 위한 기사뿐입니다!
사이트 소개
아래 다양한 GAS 및 기타 기사를 소개합니다!
htps : // bz 보트 t. rk /
소개 기사
이번 소개하고 있는 기사는 이하입니다!
htps : // bz 보트 t. rk/2019/04/08
송신 결과
먼저 GoogleForm이 제출될 때 아래 알림이 Slack에 도착하도록 설정합니다.
아래 URL을 열면 Slack에서 보낼 채널을 지정할 수 있습니다.
채널을 지정하면 "Add Incoming WebHooks integration"이 녹색 버튼으로 바뀌므로 클릭하여 진행합니다.
htps : // s ck. 코 m / 세 r ゔ ぃ 세 / w
진행하면 "Webhook URL"항목이 있으므로 URL을 복사합니다.
복사 후 GAS에 나열된//slack webhookURL ~로 설정합니다.
세트가 완료되면 하단에 표시되는 "Save Setting"을 클릭하여 저장합니다.
GAS 코드 소개
GAS로 Google 설문지의 데이터 처리
※Logger.log는 불필요하면 삭제해 주세요
간단히 설명합니다만, 크게 나누어 「GAS로 Google 폼으로부터의 데이터를 가공한다」 「GAS로 메일에 보내는 것」 당신이 원하는대로 구분할 수 있습니다.
GAS
function submitForm(e){
var itemResponses = e.response.getItemResponses();
var message = '';
//itemResponsesに入っている分だけ繰り返す
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
//formの質問内容を取得
var question = itemResponse.getItem().getTitle();
//formの選択内容を取得
var answer = itemResponse.getResponse();
Logger.log(i + '回目question:' + question);
Logger.log(i + '回目answer:' + answer);
//ループごとに増えていく情報を改行してくっつけていく(/nは改行)
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
Logger.log('message:' + message);
var content = '評価シート入力結果--------------------\n\n' + message;
//メールを送りたい場合
sendMail(content);
//Slackに送りたい場合
sendToSlack(content);
}
function sendMail(body){
Logger.log(body);
var address = '[email protected]';
var title = '[評価シートの入力結果です]';
GmailApp.sendEmail(address, title, body);
}
function sendToSlack(body) {
Logger.log(body);
//Slackのチャンネル名を指定
var ch = "#bzbot";
//SlackのwebhookURLを指定
var url = "https://hooks.slack.com/**********************************************";
//渡すデータを指定する
var data = { "channel" : ch, "username" : "GoogleフォームBot", "text" : body, "icon_emoji" : ":sneezing_face: " };
var payload = JSON.stringify(data);
var options = {
"method" : "POST",
"contentType" : "application/json",
"payload" : payload
};
var response = UrlFetchApp.fetch(url, options);
}
Logger.log()
[19-03-26 00:28:23:644 JST] 0回目question:評価者を選択してください
[19-03-26 00:28:23:644 JST] 0回目answer:担当A
[19-03-26 00:28:23:721 JST] 1回目question:評価者の◯◯を選択してください
[19-03-26 00:28:23:722 JST] 1回目answer:7,6,5
[19-03-26 00:28:23:799 JST] 2回目question:コメントを入力してください
[19-03-26 00:28:23:800 JST] 2回目answer:GoogleフォームとGASを連携してSlackに通知を送る!
[19-03-26 00:28:23:801 JST] message:1. 評価者を選択してください: 担当A
2. 評価者の◯◯を選択してください: 7,6,5
3. コメントを入力してください: GoogleフォームとGASを連携してSlackに通知を送る!
[19-03-26 00:28:23:801 JST] 評価シート入力結果--------------------
1. 評価者を選択してください: 担当A
2. 評価者の◯◯を選択してください: 7,6,5
3. コメントを入力してください: GoogleフォームとGASを連携してSlackに通知を送る!
[19-03-26 00:28:24:036 JST] 評価シート入力結果--------------------
1. 評価者を選択してください: 担当A
2. 評価者の◯◯を選択してください: 7,6,5
3. コメントを入力してください: GoogleフォームとGASを連携してSlackに通知を送る!
이런 느낌.
여러가지 호출하고 있는 함수는 다른 처리에서도 응용해 사용할 수 있으므로 기억해 두면 편리합니다!
Reference
이 문제에 관하여(Slack에 Google 설문지의 결과를 알리고 싶습니다! – 2019년 버전), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Bzbot/items/5be0f99b826e0a258272텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)