여러분이 작업한 프로젝트를 배포하는 과정에서 다른 팀원들에게 알리고 싶다면 어떻게 해야 할까요? 다양한 메시지를 통하여 알림을 보낼 수가 있습니다.
제가 다니는 회사가 Slack(슬랙)을 이용하다가 이제는 Google Chat(구글 챗)을 사용하게 되었습니다. 마이그레이션하는 과정에서 알게된 쉘 스크립트를 이용해 배포 알림을 보내는 방법을 소개하겠습니다.
Google Chat에서 알림을 받으려면 먼저 webhook URL을 설정해야 합니다. Webhook URL은 Google Chat에서 제공하는 고유한 주소로, 이 주소로 메시지를 보내면 Google Chat에 알림이 표시됩니다. Google Chat에서 새로운 webhook URL을 생성하는 방법은 다음과 같습니다.
Google Chat의 대화방에 들어갑니다.
채팅방 좌측 상단에 있는 설정에서 “앱 및 통합”을 선택합니다.
팝업창이 나오면 "웹훅 추가"를 클릭합니다.
채팅방에 나오게 될 웹훅 이름과 아이콘을 설정한 후 "저장"을 클릭합니다. 저는 TEST라는 이름을 사용해서 사용할 예정입니다.
이렇게 생성된 webhook URL을 복사합니다.
주소는 https://chat.googleapis.com/v1/spaces/스페이스이름/messages?key=yyyyy&token=zzzzz 와 유사한 형식을 가지게 됩니다. 웹훅의 이름, 아이콘을 수정하거나 삭제할 수 있습니다.(화면의 주소가 다를 수 있습니다)
webhook을 생성하면 채팅방에 알림이 가게 됩니다.
복사한 webhook URL을 사용하여 쉘 스크립트를 작성해 봅시다. 쉘 스크립트는 간단한 쉘 명령어를 통해 운영 체제에 명령을 내리는 스크립트입니다.
추가적으로 사용자의 이름을 넣는 기능까지 추가해보았습니다.
#!/bin/bash
# 사용자 이름을 가져옵니다.
NAME="홍길동"
# Google Chat webhook URL 설정
GOOGLE_CHAT_WEBHOOK_URL="복사한 webhook URL"
# 프로젝트 이름을 변수로 설정합니다.
PROJECT="프로젝트이름"
# 메시지 내용 생성 (사용자 이름 포함)
# 나중에 내용을 변경하셔도 됩니다.
MESSAGE="${NAME}님께서 ${PROJECT}의 배포를 시전하였습니다."
# 메시지의 JSON 포맷 생성
# 혹시나 적용이 되지 않는다면 가장 바깥의 쌍따옴표("")를 홑따옴표('')로 변경하세요.
json_message="{"text": "'"${MESSAGE}"'"}"
# 메시지를 Google Chat으로 전송
curl -X POST \
-H 'Content-Type: application/json' \
-d "$json_message" \
"$GOOGLE_CHAT_WEBHOOK_URL"
이 스크립트는 다음과 같은 과정을 거칩니다.
# 해당 Bash 스크립트가 있는 폴더
chmod +x deploy_notification.sh
# 해당 Bash 스크립트가 있는 폴더
./deploy_notification.sh
이 방법을 사용하면 팀원들에게 프로젝트의 배포 상황을 쉽게 공유할 수 있습니다. 원하는 경우에는 스크립트를 수정하여 보다 다양한 정보를 알림으로 전송할 수도 있습니다. 이제 여러분도 Google Chat을 활용하여 프로젝트의 소통을 한층 더 강화해 보세요!