Slash Commands와 GAS로 긴급 연락 이메일 보내기

소개


  • 그룹의 긴급 연락망의 수단을 메일→slack에 이행을 시도하려고 생각했습니다만 일부 slack의 도입을 할 수 없는 사람도 있었기 때문에, 메일 대응도 남겨 둘 필요가 있었습니다.
  • 다만, slack에 투하하는 작업과 메일 송신 작업을 따로 따로 실시하는 것이 귀찮았기 때문에, slack상으로부터 동시에 실시할 수 있도록(듯이) 했습니다.

  • 슬래시 명령 작성의 흐름



  • Slash Commands와 GAS로 Slack의 원래 명령 만들기 를 참고로 하겠습니다, 대단히 쉬웠습니다.
  • 본 페이지에서는 중복되는 부분을 일부 생략하겠습니다.

  • 이번에 만드는 것


  • /emergency-mail [メール内容] 를 입력하면 [메일 내용]을 타임라인에 투하하면서 등록 이메일 주소로 전송하는 구조입니다.


  • 보내면 slack/메일에는 각각 아래와 같이 전달됩니다.













  • 명령 작성



    GAS 프로젝트 만들기



  • htps : // sc pt. 오, ぇ. 이 m 을 열어 봅시다.
  • Google 계정에 로그인한 상태라면 새 프로젝트를 만들 수 있습니다.
  • 화면에 편집기가 표시됩니다. 소스는 다음과 같이 했습니다.

  • 코드.gs
    function send_A_mail(user, memo) {
      var to="*******@yahoo.co.jp,*******@gmail.com"; // 送信先メールアドレスはカンマでつなぐ
      var from="*******@gmail.com"; // 送信者メールアドレス(作成者のgmailアドレスを入力)
      var sender=user; // 送信者名
      var subject="テスト配信_緊急連絡網(slackから転送)"; // 件名
      var body="テスト配信_緊急連絡網(slackから転送)になります。\n"
      + "---------------\n"
      + memo + "\n"
      + "---------------\n"
      + "詳細はslackにてご確認ください。https://********.slack.com/ \n"
      + "メールで回答する場合は右記に返信ください。 ************@gmail.com"
      GmailApp.sendEmail(to, subject, body, {from: from, name: sender});
    }
    
    function doPost(e) {
      var user = e.parameter.user_name;
      var memo = e.parameter.text;
      var response = { "text" :  "---以下転送内容でメール送信を行いました---\n","response_type" : "in_channel" };//
      var verificationToken = e.parameter.token;
      if (verificationToken != '***********') { 
        throw new Error('Invalid token');
      }
      send_A_mail(user, memo);
      response.text = "テスト配信_緊急連絡網です。\n" + memo
      return ContentService.createTextOutput(JSON.stringify(response)).setMimeType(ContentService.MimeType.JSON);
    }
    
  • GmailApp.sendEmail 사용 방법은 다음을 참조하십시오. ぇぺぺrs. 오, ぇ. 코 m / 아 ps-sc 리 pt / 레후 렌세 / 마이 l / 마이 l 아 p
  • 슬래시 명령의 파라미터는 다음을 참조하십시오. htps : // 아피. scck. 코 m / 인테라 c 치 ぃ ty / s ぁ sh 코만 ds # 앗 p_ 코만 d_ 한 d d g g
  • "response_type" : "in_channel" 를 지정하면 slack 타임라인에도 표시됩니다. 지정하지 않으면 발신자에게만 표시됩니다.
  • 입력이 끝나면 메뉴의 "공개"=> "웹 응용 프로그램으로 배포 ..."와 같이 진행합니다.


  • 세 번째 응용 프로그램에 액세스할 수 있는 사용자를 모두(익명 사용자 포함) 또는 Anyone,even anonymous로 잊지 않고 변경합니다.
  • 슬래시 명령을 실행하여 "http_client_error"가 반환되면 여기를 의심합니다.

  • 또, 소스 내용을 갱신했을 때에는 2번째의 Project version 는 반드시 New를 선택합시다.
  • "도입"or "업데이트"를 누르면 종료를 누릅니다.
  • 외부 서비스에의 접속의 허가를 듣기 때문에 「상세」→「프로젝트명(안전하지 않은 페이지)에 이동」을 클릭해 「허가」한다. 다시 "허용"을 클릭하여 확인.


  • 아래와 같은 화면이 표시되므로 Current as web app URL을 메모해 둔다.



  • 슬랙 앱 만들기


  • 우선 htps : // 아피. scck. 코 m/아 ps 에 액세스합시다.
  • 그 후의 흐름은 Slash Commands와 GAS로 Slack의 원래 명령 만들기 와 같은 흐름으로 작성할 수 있습니다.
  • 슬래시 커맨드가 생기면 bot도 만들어 봅시다. 아래 그림 Bots → edit 으로 진행하면 작성할 수 있습니다.


  • 모처럼이므로 아래와 같이 링크처로부터 아이콘을 작성해, 앱에도 아이콘을 붙여 주었습니다.
  • h tp : // 제비와 r. 중얼거린다. 이 m/g1606/



  • * 이것으로 완성됩니다.

    끝에


  • 의외로 바삭바삭하게 만들었으므로, slack과 메일의 병용이 필요하게 되었을 때의 참고에 부디.
  • 좋은 웹페이지 즐겨찾기