Shell Script

[script] Send message to Slack

1. Intro

예전에는 서버에서 실행한 script 결과를 이메일로 보냈다면 이제는 Slack이라는 훌륭한 도구를 이용하여 정보를 주고 받을 수 있다.
Slack의 WebHooks을 사용하면 되는데
서버에서 bash script를 이용해서 메시지를 전송해보자.

 

2. Incomming Webhook 생성

Slack에서 채널을 만든 후 “Add an app”을 클릭한다.

“Add configuration”을 클릭하여 설정을 추가한다.

WebHooks을 추가할 때 중요한 것은 “Post to Channel”, “Webhook URL”이다.
이 2개의 정보는 script를 이용해서 message를 보낼 때 참조한다.

 

3. Source Code

#!/bin/bash
 
# Maker : LT
# Date : 2018.12.12.
# Description : Send message - slack
 
### Set variable
WEBHOOKURL="[WebHook URL]"
CHANNEL="#[Channel Name]"
SENDER="[Sender Name]"
ICON="red_car"
# You can change icon : https://www.webpagefx.com/tools/emoji-cheat-sheet
 
### Check $1
# $1 is Message text
if [ -n "$1" ]; then
    ### Send Message
    MSG=$1
    curl -X POST --data-urlencode \
            "payload={\"channel\": \"$CHANNEL\", \
            \"username\": \"$SENDER\", \
            \"text\": \"$MSG\", \
            \"icon_emoji\": \":$ICON:\"}" \
            $WEBHOOKURL
else
    echo "* Usage : $0 [message]"
fi

 

 

Back To Top