프로그래밍/devops

개발팀 slack봇 알림 활용 총정리

브래드 킴 2022. 7. 1. 17:20
728x90

흔히들 배포 알림 목적으로 slack을 연동시키거나, 프로그램 내에 슬랙 api를 호출하여 특정 변경사항을 알림을 받는 용도로 슬랙을 사용하고 있을 것 같다. 슬랙봇 기능을 개발팀에서 어떻게 활용하는지 정리해보았다.

 

git 배포 여부 slack으로 알림 - github앱 구독

  • 절차 : 설정 및 관리 -> 앱관리 -> github앱 설치-> 알림받을 채널선택 -> 해당 채널에 깃앱 추가하고 아래 명령어로 연결
  • /github subscribe owner명/repositoy명 ->  github계정 connect
  • github 레포지토리에서 발생하는 commit, pr등의 상황을 구독
  • 특징 : 매우간편

 

slack 봇을 만들기 - OAuth token 을 사용

  • 절차 : slack api에서 앱 생성 및 토큰 발급  -> 워크스페이스에서 앱 설치 -> 채널에 해당 봇 추가 -> 메시지를 보내고자 하는 앱에서 토큰을 사용하여, 슬랙 API로 알림 내용을 생성한 봇으로 전달
  • 특징
    • xoxb~, xoxp~ 등의 형태로 생성된 토큰과 채널명을 앱에 삽입하여 slack bot으로 메시지전송
    • 토큰을 활용한 보안확보
    • POST, DELETE 등 다양한 API 활용 가능

 

웹후크 앱 활용(hook url 사용)

  • 슬랙 앱중에 수신 웹후크라는 앱을 활용하면 수신용 url이 생성됨. 해당 url에 알림내용 전달하는 방식
  • 절차 : 슬랙의 incoming webhooks 앱을 설치하고, 채널 선택 -> 웹후크 url이 생성됨
  • 특징
    • https://hooks.slack.com/services/xxxxxx 의 형태
    • url에 전송할 정보만 전달하면 되므로 간단
    • 추가적으로 아래와 같은 방식으로 docker watchtower와 함께 많이 활용
    • 배포 후 image 변경 등을 watchtower가 catch
  watchtower:
    container_name: watchtower
    image: index.docker.io/containrrr/watchtower:latest
    environment:
      WATCHTOWER_POLL_INTERVAL: 60
      WATCHTOWER_NOTIFICATIONS: slack
      WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL: 'https://hooks.slack.com/웹훅url'
      WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER: watchtower-server

 

728x90