슬랙 알림을 연동하는 방법을 먼저 소개한다.
방법 1.
슬랙 → 워크 스페이스 → 채널 추가 → 채널 생성 → https://api.slack.com/apps/ 접속 → App 생성 → 생성한 App 클릭 → Features/Incomming Webhooks → Add new webhook to Workspace → 생성한 채널 선택 후 생성 → 생성된 webhook URL 복사
방법 2.
Incoming plugin 사용하여 하는 방법
위 방법을 통해 Webhook URL 까지 얻었다면, 이제 알림을 전송하는 스크립트를 생성할텐데,
쉘스크립트를 통해 수행 시, curl로 api call을 할 것이다.
curl로 api 호출 시, 변수를 사용하는 방법을 설명한다.
먼저, curl을 사용하여 api call을 하는 기본적인 구조는 아래와 같다. (Centos 7에서 실행 기준)
#!/bin/bash
SLACKURL=<위에서 얻은 WebhookURL>
curl -H 'Content-type: application/json' --data '{"text":"<전송 할 Message>"}' $SLACKURL
저기서 text의 value값으로 간단한 스크립트의 경우에는 String을 넣어도 되지만,
만약 변수를 value로 넣고 싶다면 아래처럼 하면된다.
#!/bin/bash
SLACKURL=<위에서 얻은 WebhookURL>
msg="Test"
curl -H 'Content-type: application/json' --data '{"text":"'$msg'"}' $SLACKURL
다른 방법으로, alert를 함수화하여 사용하려한다면, 조금 Value를 넣는 법이 좀 달라진다.
#!/bin/bash
SLACKURL=<위에서 얻은 WebhookURL>
alert(){
msg=$@
curl -H 'Content-type: application/json' --data '{"text":"'"$msg"'"}' $SLACKURL
}
alert "Test"
그냥 curl을 호출했을 때와 다르게 $msg를 "로 한번더 묶어줘야 한다.
묶어주지 않고, 그냥 curl을 호출했을때와 동일하게 하면 invalid_payload 에러가 발생하며 전송이 되지 않는다.
반응형
'기타' 카테고리의 다른 글
[Git] Initial Commit 되돌리기 (0) | 2022.05.14 |
---|---|
소프트웨어 라이센스 정리 (0) | 2021.10.12 |
[Git] stash clear 복구 하기 (0) | 2021.03.02 |
ubuntu wireshark 3.2 version 설치 (0) | 2020.05.05 |
Unresolved reference: ext (0) | 2020.04.18 |