alert_rocketchat.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. # LinuxGSM alert_rocketchat.sh function
  3. # Author: Alasdair Haig
  4. # Website: https://linuxgsm.com
  5. # Description: Sends Rocketchat alert.
  6. functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  7. if ! command -v jq > /dev/null; then
  8. fn_print_fail_nl "Sending Rocketchat alert: jq is missing."
  9. fn_script_log_fatal "Sending Rocketchat alert: jq is missing."
  10. fi
  11. json=$(cat <<EOF
  12. {
  13. "alias": "LinuxGSM",
  14. "text": "*${alertemoji} ${alertsubject} ${alertemoji}* \n *${servername}* \n ${alertbody} \n More info: ${alerturl}",
  15. "attachments": [
  16. {
  17. "fields": [
  18. {
  19. "short": true,
  20. "title": "Game:",
  21. "value": "${gamename}"
  22. },
  23. {
  24. "short": true,
  25. "title": "Server IP:",
  26. "value": "${alertip}:${port}"
  27. },
  28. {
  29. "short": true,
  30. "title": "Hostname:",
  31. "value": "${HOSTNAME}"
  32. }
  33. ]
  34. }
  35. ]
  36. }
  37. EOF
  38. )
  39. fn_print_dots "Sending Rocketchat alert"
  40. rocketchatsend=$(curl -sSL -H "Content-Type:application/json" -X POST -d "$(echo -n "$json" | jq -c .)" "${rocketchatwebhook}")
  41. if [ -n "${rocketchatsend}" ]; then
  42. fn_print_ok_nl "Sending Rocketchat alert"
  43. fn_script_log_pass "Sending Rocketchat alert"
  44. else
  45. fn_print_fail_nl "Sending Rocketchat alert: ${rocketchatsend}"
  46. fn_script_log_fatal "Sending Rocketchat alert: ${rocketchatsend}"
  47. fi