티스토리 뷰
Google Apps Script( + spreadsheets)를 이용한 slack webhooking
055055 2020. 4. 8. 08:22구글 앱 스크립트를 하여, 다양한 구글앱 및 외부 앱과의 연동으로 업무 자동화를 할 수 있다. 아래 예제는 스프레드시트에서 데이터를 읽은 후, 슬랙으로 메세지를 보내는 간단한 샘플 코드이다. 샘플 코드이기 때문에 하드코딩된 부분이 많지만, 다양한 함수를 활용한다면 더 동적으로 만들 수 있을 것이다.
Google Apps Script?
Google Apps Script는 자바스크립트 기반의 스크립팅 언어로, 이 언어를 사용하여 문서, 스프레드시트, 프레젠테이션, 설문지와 같은 G Suite 제품을 맞춤설정하고 확장할 수 있습니다. 따로 설치할 것은 없습니다. 브라우저에서 바로 코드 편집기가 제공되고 스크립트가 Google 서버에서 실행됩니다.
Spreadsheets에서 App Scripts사용
1. 구글 스프레드 시트 생성 > 도구 > 스크립트 편집기
2. 기본 스크립트 작성 후 테스트
3. 스크립트 수정
스크립트 시트에서 아래와 같이 필요한 데이터(4~5번 행)를 가져오고자 한다.
Spreadsheet.App을 통해 활성화된 스프레드시트 앱을 가지고 온다.
필요한 데이터는 마지막 두 행이기 때문에, lastRow를 구한다음 -1을 하여 범위를 4행의 1열부터 가지고 올 수 있도록 설정하였다.
2020년 4월 3일의 값을 가지고 오면 Fri Apr 03 2020 00:00:00 GMT+0900 (일본 표준시) 와 같이 나타나기 때문에
formatDate를 이용하여, 날짜를 yyyy-mm-dd로 포맷팅 하였다. (Slack incoming-web-hook과 관련된 내용은 생략)
스크립트를 실행해보면 슬랙에서 데이터를 정상적으로 수신한 걸 확인할 수 있다.
4. 트리거 사용
해당 데이터의 주기를 설정하여, 슬랙으로 받아볼 수 있도록 트리거를 사용할 수 있다. 시계 아이콘 클릭
이동된 화면에서 트리거 추가를 누르면 아래와 같이 설정을 할 수 있다.
시간/캘린더/스프레드 기반 등의 다양한 이벤트 소스를 선택할 수 있으며, 주기 및 시간 설정과 실패 알람 등을 받아볼 수 있다.
참고
http://halt20.blogspot.com/2017/01/google-docs-slack.html
'develop etc.. > etc' 카테고리의 다른 글
인텔리제이 코딩 컨벤션 설정 (0) | 2021.05.06 |
---|---|
Azure Notebooks 사용하기 (0) | 2020.07.16 |
VSC(Visual Studio Code) Activity Bar에 Search 추가 (0) | 2020.03.30 |
VSC(Visual Studio Code)를 터미널(Mac CMD)에서 열기 (0) | 2020.03.30 |
Slack Slash Commands -2 (0) | 2020.02.15 |
- Total
- Today
- Yesterday
- 다중 업데이트
- MSSQL
- 슬랙
- update query set multiple
- 업데이트 쿼리
- 그레이들
- update query mutiple row
- java
- Slack
- 이펙티브자바
- 뱅셀 유전자
- update query multi row
- 뱅크샐러드
- SpringBoot
- springboot https
- effectivejava
- 이것이 자바다
- 몽고DB 완벽가이드
- 슬랙 /
- update set multiple
- gradle
- multiple row update
- update set multi
- visual studio code
- 뱅크샐러드 유전자
- 싱글턴
- spring-boot-starter-data-redis
- vue.js
- 슬랙봇
- update query
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |