구글 앱 스크립트
는 간단한 응용 프로그램 개발을 위해 Google에서 개발한 스크립팅 플랫폼이다.
앱 스크립트는 문법이 자바스크립트이고 거의 무료여서 사용하기 편하다고 생각해서 사용하게 되었다.
어...? 최신 자바스크립트 문법을 사용할 수 없었다
무료를 좋아하는 나한테는 어쩔 수 없이 개발을 진행하게되었다.
그렇게 어쩌다보니 개발을 다 완료하고 트리거로 매일 8시에 알람이 오게 하였다.
GAE 플랫폼에서 돌아가는 특성상 오류를 잡기 힘들고 npm 모듈을 사용 할 수 없어서 그냥 람다 또는 파이어베이스의 function 을 사용할려고 햇다.
이 글을 보고 처음 Github Action
을 알게되었고 바로 쓰면 좋을 것 같다는 생각이 들었다.
자신이 원하는 프로그래밍 언어로 작업을 할 수 있는게 매력적으로 느껴졌다.
그렇게 앱 스크립트
를 버리고 Github Action
을 사용하는김에 코드를 다 최신 문법으로 바꾸고 타입스크립트를
적용시켰다.
봇은 날씨, 온도, 뉴스 등을 보내주기 위해서는 데이터를 파싱해야했다.
날씨와 온도는 Weather Api 를 사용해서 가져오기로 했다. 다만 Wetaher Api에는 한가지 문제점이 있는데 결과값이 영어라는 점이다.
그래서 날씨 코드를 이용해서 한글로 변환해주어한다 그래서 json
파일로 저장 후 날씨 코드를 이용해서 한글로 된 날씨 데이터로 가공하였다.
그 다음은 뉴스를 파싱해야했다. 네이버 뉴스, 다음 뉴스, 구글 뉴스 등이 있었는데
나는 그 중 구글 뉴스를 파싱했다.
https://news.google.com/rss?hl=ko&gl=KR&ceid=KR:ko
해당 사이트에서 axios
를 사용하여 가져온 후 cheerio
를 사용하여 제목과 url을 파싱했다.
일단 웹훅으로 전송하기 위해서는 웹훅 url이 필요했는데 이 url을 저장할 방법이 고민이었다.
웹훅 url은 공개되면 안 되는 정보였으므로 비밀스럽게 보관해야 했다.
방법을 찾는 도중에 깃헙 secrets
에 보관이 가능하다는 것을 알고 설정을 하고 nodejs.yml
에 추가해주었더니
process.env
로 바로 가져올 수 있었다 :)
그렇게 파싱한 정보를 매일 아침 8시에 웹훅으로 보내게 하였다.
이렇게 Github Action
으로 편지봇을 만들어 보았다.
Github Action
을 처음 사용해보았는데 매우 좋았고 사용할 기회가 있으면 사용할 것 이다.
또한 Github Action
을 활용한다면 여러가지 작업을 할 수 있다 ( 배포, 테스트 등)
긴글 읽어주셔서 감사합니다!
좋은 내용 감사합니다!