목차
안녕하세요! 개발 작업을 하다 보면 다양한 도구에서 발생하는 이벤트(배포 완료, 에러 발생, 주요 데이터 변경 등)를 슬랙(Slack)으로 받아보고 싶을 때가 많습니다. 대부분의 최신 개발 도구들은 자체적으로 슬랙 연동 기능을 제공하지만, 아쉽게도 그렇지 못한 경우나 직접 만든 스크립트의 알림을 받고 싶을 때 유용한 것이 바로 슬랙 웹훅(Slack Webhook) 입니다.
웹훅은 특정 이벤트가 발생했을 때 지정된 URL로 HTTP POST 요청을 보내는 간단한 방식입니다. 슬랙에서는 이 '수신 웹훅' 기능을 통해 외부 서비스나 애플리케이션으로부터 메시지를 받을 수 있도록 지원합니다.
이번 포스팅에서는 슬랙 웹훅을 생성하고, Postman을 이용해 간단한 테스트 메시지를 보내는 과정을 알아보겠습니다.
1. 슬랙에 웹훅(Webhook) 앱 추가하기
가장 먼저 알림을 받고자 하는 슬랙 채널에 웹훅 앱을 추가해야 합니다.
1. 알림 받을 채널 선택: 슬랙을 실행하고, 웹훅 알림을 게시할 채널로 이동합니다. 그리고 나서 채널 페이지에서 채널 제목을 클릭합니다.
2. 채널 세부정보 열기: 위에서 채널 제목을 클릭하면 아래와 같이 창이 나타납니다. 여기에서 '통합' 탭을 선택하고 '앱 추가' 버튼을 클릭합니다.
3. Incoming WebHooks 검색 및 선택: '앱 추가' 버튼을 클릭 후에 나타나는 앱 디렉토리 검색창에 Incoming WebHooks
를 입력하고 검색 결과에서 해당 앱 설치를 클릭합니다.
4. Slack에 추가: 바로 설치되지 않고 앱 상세 페이지로 이동하게 됩니다. 앱 상세 페이지에서 'Slack에 추가' 버튼을 클릭합니다.
2. 웹훅 설정 및 URL 확보
앱을 추가하면 웹훅을 설정하는 페이지로 이동합니다.
1. 채널 선택 및 수신 웹훅 통합 앱 추가: 웹훅 메시지를 게시할 채널을 다시 한번 확인하고 선택합니다. (채널 선택 시, 페이지 로딩 속도 때문에 채널이 나타나지 않을 수도 있으니 웹페이지 새로고침하여 다시 시도해보실 수 있습니다.)
채널 선택 후, '수신 웹훅 통합 앱 추가' 버튼을 클릭합니다.
2. 웹훅 URL 복사: 화면 스크롤을 내려보면 이제 가장 중요한 웹훅 URL(Webhook URL) 이 생성됐습니다. 이 URL은 외부에서 슬랙으로 메시지를 보낼 때 사용되는 고유 주소이므로 안전하게 복사해둡니다. 메모장에 붙여넣어 따로 저장하세요. 또한, 이 URL이 외부에 노출되지 않도록 주의하세요.
4. (선택 사항) 사용자 정의 설정: 페이지 하단으로 스크롤하면 이 웹훅을 통해 발송될 메시지의 이름과 아이콘을 설정할 수 있습니다. 예를 들어, '빌드 알리미'라는 이름에 로봇 아이콘을 설정하면 해당 웹훅으로 오는 메시지는 '빌드 알리미' 봇이 보낸 것처럼 표시됩니다.
5. 설정 저장: 모든 설정을 마쳤으면 '설정 저장(Save Settings)' 버튼을 클릭합니다.
이제 슬랙 채널에 웹훅 앱이 성공적으로 추가되었고, 고유한 웹훅 URL도 확보했습니다!
3. Postman으로 웹훅 발송 테스트
웹훅이 정상적으로 작동하는지 확인하기 위해 API 테스트 도구인 Postman을 사용하여 간단한 메시지를 보내보겠습니다. (Postman 가입, 설치 및 기본 사용법은 생략합니다. 일단 구글 계정으로 가입만 해도 아래 과정을 따라하실 수 있습니다.)
1. Postman 실행 및 새 요청 생성: Postman을 실행하고 새 요청(Get Request)을 생성합니다. 또는, 이미 Workspace가 있는 경우라면 'Recently visited workspaces'에서 한 가지 선택하여 접속합니다.
2. Workspace로 이동하면 '+' 버튼을 클릭합니다.
3. HTTP 메소드 선택 및 Request URL 입력: 요청 방식을 POST
로 선택하고, 앞서 복사해둔 웹훅 URL을 붙여넣습니다.
4. Headers 설정:
Headers탭 클릭 후 'Key'와 'Value' 값에 다음을 입력합니다.
Key
:Content-Type
Value
:application/json
5. Body 설정:
Body
탭을 선택하고,raw
옵션을 선택한 후, 데이터 형식을JSON
으로 지정합니다.- JSON 형식으로 보낼 메시지를 작성합니다. 가장 기본적인 형태는 다음과 같습니다:
{ "text": "안녕하세요! 슬랙 웹훅 테스트 메시지입니다. 🎉" }
6. 요청 전송: 'Send' 버튼을 클릭하여 요청을 보냅니다.
4. 슬랙 채널에서 알림 확인
1. Postman에서 요청을 보낸 후, 응답으로 ok
라는 텍스트가 돌아오면 성공입니다.
2. 이제 웹훅을 설정한 슬랙 채널로 이동해보세요. Postman에서 보낸 테스트 메시지가 아래와 같이 잘 도착해 있는 것을 확인할 수 있습니다. 만약 사용자 정의 이름과 아이콘을 설정했다면 해당 이름과 아이콘으로 메시지가 표시됩니다.
마무리
지금까지 슬랙 웹훅을 생성하고 Postman을 통해 테스트 메시지를 보내는 방법을 알아보았습니다. 이제 이 웹훅 URL을 활용하여 자체 개발한 애플리케이션, CI/CD 파이프라인, 모니터링 시스템 등 슬랙 연동을 공식적으로 지원하지 않는 다양한 도구로부터 원하는 알림을 손쉽게 받아볼 수 있습니다.
단순 텍스트 메시지 외에도 버튼, 이미지, 다양한 서식(attachments, blocks)을 활용하여 더욱 풍부한 알림을 구성할 수도 있으니, 슬랙의 메시지 포맷팅 가이드를 참고하여 활용해보시길 바랍니다.