#!/bin/bash url='https://hooks.slack.com/services/xxxxxxxx/xxxxxxx/xxxxxxxxxxxx' username='Zabbix' to="$1" subject="$2" message="$3" recoversub='^RECOVER(Y|ED)?$|^OK$|^Resolved.*' problemsub='^PROBLEM.*|^Problem.*' if [[ "$subject" =~ $recoversub ]]; then emoji=':white_check_mark:' color='#00ff40' elif [[ "$subject" =~ $problemsub ]]; then emoji=':exclamation:' color='#ff0a0a' else emoji=':question:' color='#0ac2ff' fi payload="payload={\"channel\": \"${to}\", \"username\": \"${username}\", \"attachments\": [{\"fallback\": \"${subject}\", \"title\": \"${subject}\", \"text\": \"${message}\", \"color\": \"${color}\"}], \"icon_emoji\": \"${emoji}\"}" return=$(curl -s -m 5 --data-urlencode "${payload}" "$url") if [[ "$return" != 'ok' ]]; then >&2 echo "$return" exit 1 fi