본문 바로가기

Linux

터미널(bash script)에서 slack으로 메세지 전송하기

 

webhook와 Slack Bot을 사용한다는 것은 많은 기술블로그에 소개되어 있다.

여기에 대해 잘 모른다면 아래 글을 참고하면 된다.

https://ko.linux-console.net/?p=6949 

 

Bash 스크립트에서 Slack으로 메시지를 보내는 방법

Bash 스크립트에서 Slack으로 메시지를 보내는 방법 이러한 종류의 통합은 RSS 피드가 작동하는 방식과 유사하게 무언가가 업데이트되거나 새 콘텐츠가 어딘가에 게시되는 경우와 같은 알림 기반

ko.linux-console.net

 

curl을 이용해서 위에서 생성한 webhook URL로 데이터를 전송하면 Slack에서 메세지를 받을 수 있다. 

대부분의 예제에서는 전송 데이터로 {"text": "Hello World"} 를 사용한다.

그러면 Slack에서는 Hello World 라는 메세지를 받을 수 있다.

 

 

내가 궁금했던 것은 현재 디렉토리에 있는 파일의 text 데이터를 그대로 slack으로 전송하는 방법이다.

AWS EC2 인스턴스 내부에서 app 실행 로그를 보고 싶은데 EC2 접근 권한이 없을 때 log 파일 데이터를 그대로 slack으로 보내서 확인할 때 사용했다.

 

curl \
-X POST \
-H 'Content-type: application/json' \
{web hook URL} \
--data "{\"text\":\"$(cat README.md)\"}"

가장 아랫줄을 참고하면 된다. 

cat 명령어를 사용하여 README.md 파일의 텍스트 데이터를 읽어 json 형태의 데이터로 변환하여 Slack webhook URL로 전송했다.

 

그러면 Slack에서 해당 파일의 내용을 볼 수 있을 것이다.

'Linux' 카테고리의 다른 글

[Linux] CentOS에서 Quantum Espresso 컴파일 에러 해결  (0) 2024.04.17