Google Sheets 작성
구글 스프레드시트에 슬랙 채널에 제공할 정보를 작성합니다.
Google Apps Scripts 코드 작성
확장 프로그램 - Apps Script를 클릭하고 우측에 있는 편집기 화면에 코드를 채우면 됩니다.
먼저 기능에 맞게 함수 이름을 sendMessage로 바꿔줍니다.
그 다음, 만든 구글 시트를 불러오는데 A:G까지의 범위만 필요하기 때문에 해당 범위만 불러옵니다.
그리고 이전에 만들었던 Webhook URL을 코드에 추가합니다.
function sendMessage() {
var googleSheet = SpreadsheetApp.getActiveSheet(); // 구글 시트 변수 생성
var data = googleSheet.getRange("A:G").getValues(); // 구글 시트에서 원하는 범위의 셀 불러오기
const webhook = "https://hooks.slack.com/services/..."; // Webhook URL 삽입
// ...
}
연결해놓은 슬랙 채널에 보낼 메세지는 자기가 원하는 형식으로 작성할 수 있습니다.
메세지에 대한 설정은 아래와 같이 코드를 작성하고 try-catch문을 통해 메세지를 발송합니다.
let message = {
"text" : "안녕하세요. Slack Bot입니다.\n" +
"현재 인원 포지션을 안내해 드리겠습니다!\n" +
"FE 개발 : " + data[6][6] + "명\n" +
"BE 개발 : " + data[7][6] + "명\n" +
"AOS 개발 : " + data[8][6] + "명\n" +
"IOS 개발 : " + data[9][6] + "명\n" +
"전체 인원 수 : *" + data[10][6] + "명*"
}
var options = {
"method" : "post",
"contentType" : "application/json",
"muteHttpExceptions" : true,
"payload" : JSON.stringify(message)
}
try {
UrlFetchApp.fetch(webhook, options)
} catch (e) {
Logger.log(e)
}
슬랙 채널에 메세지 발송
상단의 실행 - 권한 검토 - 고급 - 안전하지 않음 - 허용 순으로 클릭하면 메세지가 성공적으로 발송됩니다.
트리거 설정
채널에 메세지를 보내고 싶을 때 매번 해당 페이지까지 들어와 실행을 눌러주어야 합니다.
이를 해결하기 위한 방법으로 트리거가 있습니다.
먼저, 좌측에 있는 트리거 항목에 들어가서 트리거 추가 버튼을 눌러줍니다.
여기서 실행할 함수를 선택하고 이벤트 소스를 지정합니다.
이벤트 소스에는 스프레드시트, 시간 기반, 캘린더가 있습니다.
시간 기반을 선택하면 시간 유형과 시간 간격을 원하는대로 지정할 수 있습니다.
또한, 트리거 실패 알림도 어느 간격으로 할 지 설정할 수 있습니다.
모든 설정을 마치고 저장을 눌러주면 트리거 추가가 완료됩니다.
728x90
반응형
'기타 > Slack Bot' 카테고리의 다른 글
[Slack Bot] Slack Bot 커스텀 명령어 만들기 (0) | 2023.09.24 |
---|---|
[Slack Bot] Slack Bot 슬래시 명령어 만들기 (0) | 2023.09.05 |
[Slack Bot] Slack Bot 구현하기 (0) | 2023.08.14 |