Google 설문지를 입력하면 즉시 Slack에 알림이 오는 방법 (#GAS)

여러분, 안녕하세요.

watnow 기술 달력의 24일째】
오늘은 watnow의 유우 담당합니다
잘 부탁드립니다! ! 😊

양식을 입력했는지 아니면 매번 확인하는 것은 번거롭지 않습니까?
이번에는 Google 양식이 입력되면 Slack에 알림이 오는 방법을 살펴 보겠습니다!

Slack 알림 이미지





준비편


  • Slack과 Webhook을 연계
  • Slack의 Webhook URL 획득
  • Google 양식 작성

  • GoogleAppsScript 열기
  • (Google 양식 → "..."→ 스크립트 편집기)


  • 실천편(코드)


    エディタ① -Slack通知設定-
    function notifySlack(event){  
    
    var applicant = "";
    var itemResponse = event.response.getItemResponses(); 
    
    var name = itemResponse[0].getResponse();
    var univ = itemResponse[1].getResponse();
    var fac = itemResponse[2].getResponse();
    var year = itemResponse[3].getResponse();
    

  • 이벤트 : 이벤트

  • response:반응이 있을 때

  • getItemResponses:아이템 얻기

  • itemResponses[0]:googleForm의 최상위 정보
  • [] ← 안에 양식 위에서 몇 번째 정보를 원하는지 쓴다
  • 0부터 시작하기 때문에 2행째는[1]


  • getResponse: 취득

  • エディタ② -通知する内容-
    
     var body = "@channel\n入団希望者が現れました✨✨✨\n\n"; 
    
     var bodyPublic = 
      "名前:" + name + 
      "\n大学:" + univ + 
      "\n学部:" + fac + 
      "\n学年:" + year;
    
    body += bodyPublic ;
    

  • \n:개행

  • var body : 여기에 고정 문장 쓰기

  • var bodyPublic : 고정문 + 에디터①에서 정의한 것을 쓴다
  • - body += bodyPublic : 마지막에 합체한다

  • エディタ③ -Slack通知設定-
    var payload = {
    'username' : '入団希望者BOT',
    'text':body,
    'channel':'#project-watnow'
    };
    
    var options = {
     "method" : 'post',
        'content-type' : "application/json",
        "payload" : JSON.stringify(payload)
    
    };
    
    var url = 'https://hooks.slack.com/services/××××××××××××××';
    UrlFetchApp.fetch(url, options);
    
    

  • 'username': Slack의 Bot 이름

  • 'text':에디터②에서 정의한 body를 넣는다

  • 'channel': 알림이 오는 채널 이름 넣기

  • url : 준비편으로 가져온 URL을 넣는다

  • ※var options보다 뒤의 부분은 코피페로 문제 없음 🙆‍♀️
    기억하지 않아도 괜찮습니다.
    完成形
    function notifySlack(event){  
    
    var applicant = "";
    var itemResponse = event.response.getItemResponses(); 
    
    var name = itemResponse[0].getResponse();
    var univ = itemResponse[1].getResponse();
    var fac = itemResponse[2].getResponse();
    var year = itemResponse[3].getResponse();
    
    
     var body = "@channel\n入団希望者が現れました✨✨✨\n\n"; 
    
     var bodyPublic = 
      "名前:" + name + 
      "\n大学:" + univ + 
      "\n学部:" + fac + 
      "\n学年:" + year;
    
    body += bodyPublic ;
    var payload = {
    'username' : '入団希望者BOT',
    'text':body,
    'channel':'#project-watnow'
    };
    
    var options = {
     "method" : 'post',
        'content-type' : "application/json",
        "payload" : JSON.stringify(payload)
    
    };
    
    var url = 'https://hooks.slack.com/services/××××××××××××××';
    UrlFetchApp.fetch(url, options);
    }
    

    실천편(트리거)



    ⚠️자동으로 매번 폼이 입력되면 즉시 Slack에 통지가 오도록 하려면 트리거 설정은 필수!


    반드시 이벤트 종류를 선택을 '폼 제출 시'로 설정하십시오.

    이상



    어땠습니까? !
    이제 작업 효율을 올리세요 😊✨

    또한,
    학생 IT 단체 watnow에 대해 더 알고 싶다! 라는 쪽은 이쪽도 봐 💓

    note: htp // t. ly /에서 _와 t의 w
    Twitter: htps: // t. ly / w t의 w_와 r

    참고 URL: htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 아 ps-sc 리 pt

    좋은 웹페이지 즐겨찾기