본문 바로가기
업무꿀팁/앱스 스크립트

앱스 스크립트(Apps Script) 특정 시간 자동 실행 설정 (트리거 기능 사용법, 실행 시간 예약, 실행 주기 설정)

by 민트녹차 2021. 12. 2.

안녕하세요. 이번 시간에는 구글 앱스 스크립트(Google Apps Script) 프로젝트의 '트리거' 기능을 이용하여 함수 실행 시간을 예약하는 방법과 일정 주기로 실행하는 방법에 대해 알아보겠습니다.

앱스-스크립트-특정-시간-자동-실행-설정-제목-이미지
앱스 스크립트 특정 시간 자동 실행 설정

 

들어가기 전에...

만약, 구글 앱스 스크립트(Google Apps Script)를 처음 접하시는 분은 아래 링크에서 앱스 스크립트에 대한 기본 개념과 실행방법에 대한 설명을 먼저 보고 오시는 것을 추천드립니다. 실행방법을 모르는 상태에서 아래 내용을 보시면 이해되지 않는 부분이 있을 수 있습니다.

구글 앱스 스크립트(Google Apps Script) 실행하기 (개념, 실행방법, 업무 자동화)

 

구글 앱스 스크립트(Google Apps Script) 실행하기 (개념, 실행방법, 업무 자동화)

안녕하세요. 오늘은 업무 자동화를 위해 알아두면 아주 편리한 구글 앱스 스크립트(Google Apps Script)에 대해서 알아보도록 하겠습니다. 구글 앱스 스크립트란 무엇인지, 그리고 어떻게 실행하고

melonmilk.tistory.com

 

트리거로 특정 시간 자동 실행 설정하기(실행 시간 예약)

앱스 스크립트 함수 생성

새 스프레드시트를 생성하고 상단의 메뉴바에서 [확장 프로그램] 메뉴 하위의 [Apps Script] 메뉴에 접근합니다. 앱스 스크립트 프로젝트 페이지에서 아래와 같이 SendMail 함수를 생성합니다. 아래 코드에 대한 보다 자세한 설명은 코드 아래의 링크 페이지에서 확인하실 수 있습니다.

function SendMail() {
  try { 
    MailApp.sendEmail({
      to: "[메일을-발송할-이메일-주소]", // 메일 주소
      subject: "메론우유님, 안녕하세요.", // 메일 제목
      htmlBody: "<html>메일 발송 테스트 중입니다.<br>오늘도 즐거운 하루 보내세요.:D</html>", // 메일 내용
    });
    
    console.log("[+] 성공!"); }
  catch(e){
    console.log("[+] 실패! ("+e+")");
  }
}

 

앱스 스크립트(Apps Script) 메일 보내기 (메일 발송 기초, 메일 발신 업무 자동화)

 

앱스 스크립트(Apps Script) 메일 보내기 (메일 발송 기초, 메일 발신 업무 자동화)

안녕하세요. 이번 시간에는 구글 앱스 스크립트(Google Apps Script)를 이용하여 메일을 발송하는 방법에 대해 알아보겠습니다. 메일을 발송하는 가장 기초 방법이라고 보시면 됩니다. 구글 앱스 스

melonmilk.tistory.com

 

 

트리거 추가

앱스 스크립트 프로젝트 페이지의 좌측 메뉴에서 '시계' 모양 아이콘을 클릭하면 아래 그림과 같이 [트리거] 메뉴에 접근할 수 있습니다. 해당 페이지에서 우측 하단의 [트리거 추가] 버튼을 클릭합니다.

트리거-메뉴-접근-후-트리거-추가-버튼을-클릭하는-이미지
트리거 메뉴 접근 및 트리거 추가 시도

[실행할 함수 선택] 메뉴에서 위에서 생성한 'SendMail' 함수를 선택합니다. (생성한 함수가 많을 경우 실행할 함수를 지정해줘야 합니다. 함수를 지정하지 않을 경우 맨 위에 선언된 함수가 기본 값으로 선택됩니다.) [이벤트 소스 선택] 메뉴에서 '시간 기반'으로 선택합니다. '시간 기반'으로 선택 후 [트리거 기반 시간 유형 선택] 메뉴를 아래 그림과 같이 함수를 실행하고자 하는 특정 시간대로 설정합니다. [트리거 실패 알림 설정]은 트리거 실행 결과가 실패일 경우 알림을 받고자 하는 주기로 설정해 주시면 됩니다.

이벤트-소스를-시간-기반으로-설정하고-상세-내용-입력하여-트리거-설정을-저장하는-이미지
시간 기반 상세 내용 입력 후 트리거 설정 저장

트리거가 정상적으로 추가되면 [트리거] 메뉴에서 아래 그림과 같이 추가된 트리거 현황을 확인할 수 있습니다.

트리거-설정이-추가된-이미지
추가된 트리거 설정 확인

 

 

수신 메일 내용 확인

트리거에서 설정한 시간(2021년 12월 1일 오후 11시 40분)이 지난 후, SendMail 함수에 입력한 메일 주소의 메일함을 확인해보면 아래 그림과 같은 형태로 메일이 도착해 있는 것을 확인할 수 있습니다.

트리거-설정-시간에-발송된-메일-내용을-확인하는-이미지
트리거로 설정한 시간에 발송된 메일 내용 확인

트리거 및 실행 이력 확인

[트리거] 메뉴에 접근하여 이미 실행된 트리거를 살펴보면 [최종 실행] 부분에 '사용 중지됨'이라고 메시지가 출력됩니다. 해당 메시지를 클릭해보면, 이 트리거는 원래 한 번만 실행되도록 설정되었으며 실행이 완료되어 사용이 중지되었다고 하는 것을 확인할 수 있습니다. 이미 실행된 함수의 실행 결과는 어디에서 확인할 수 있을까요? [실행] 메뉴를 통해 확인할 수 있습니다.

사용-중지된-트리거-이력을-확인하는-이미지
사용 중지된 트리거 이력 확인

좌측 메뉴에서 아래의 아이콘을 클릭하면 [실행] 메뉴에 접근할 수 있습니다. 해당 메뉴는 앱스 스크립트 프로젝트에서 실행한 결과가 기록되어 있으며, 트리거를 이용해서 함수를 실행한 결과도 해당 페이지에서 확인할 수 있습니다. 실행 이력을 클릭해보면 해당 함수의 실행 로그를 자세하게 확인할 수 있습니다.

트리거로-실행한-함수의-실행-이력을-보여주는-이미지
트리거로 실행한 함수의 실행 이력

 

 

트리거로 일정 주기 자동 실행 설정하기

트리거 추가

트리거 기능을 이용하면 주기적으로 함수가 실행되도록 설정할 수도 있습니다. 트리거 설정 시 [이벤트 소스 선택] 메뉴에서 '시간 기반'으로 선택하면 아래 그림과 같이 [트리거 기반 시간 유형 선택] 메뉴에서 다양한 시간 단위(분 단위, 시간 단위, 일 단위, 주 단위, 월 단위)를 선택할 수 있습니다. 해당 메뉴에서 상황에 맞게 시간을 설정하시면 일정한 주기로 함수를 실행하는 것도 가능합니다.

다양한-시간-단위-설정이-가능한-것을-보여주는-이미지
트리거를 이용하여 일정 주기로 함수 실행 가능

 

마치며...

오늘은 트리거를 이용하여 함수 실행 시간을 예약하는 방법과 일정 주기로 함수를 실행하는 방법에 대해 알아보았습니다. 업무 자동화에 트리거가 꽤나 큰 역할을 담당합니다. 트리거 기능도 업무에 한번 활용해 보시기 바랍니다. 오늘도 긴 글 읽어주셔서 감사합니다.

 

댓글