#!/bin/bash # Send error and success notifications to Rocket Chat channels # Env vars: # --- Webhook URLs for given channel, eg $RC_WEBHOOK_TEST # --- sourced from `.env` file in Zsh path # Parameters: # --- $1 = Channel, # --- $2 = type 'error' | 'success' # --- $3 = Message # Usage: # --- ./rocketchat_notifier.sh test 'success' 'Message goes here.' # --- ./rocketcaht_notifier.sh test 'error' 'Message goes here.' source $HOME/.env declare -A CHANNEL_TO_WEBHOOK CHANNEL_TO_WEBHOOK["backups"]=$RC_WEBHOOK_BACKUPS WEBHOOK=${CHANNEL_TO_WEBHOOK[$1]} if [ "$2" != "error" ]; then curl -X POST \ -H 'Content-type: application/json' \ --data "{\"text\":\"INFO $3 \"}" \ "$WEBHOOK" >/dev/null 2>&1 else curl -X POST \ -H 'Content-type: application/json' \ --data "{\"text\":\"ERROR \", \"attachments\": [{\"color\": \"#FF0000\", \"text\": \"$3\"}]}" \ "$WEBHOOK" fi