Browse Source

Send webhook

Felix Kleinekathöfer 2 years ago
parent
commit
3e69304f0f
1 changed files with 18 additions and 0 deletions
  1. 18 0
      data/Dockerfiles/watchdog/watchdog.sh

+ 18 - 0
data/Dockerfiles/watchdog/watchdog.sh

@@ -125,6 +125,7 @@ function notify_error() {
     SUBJECT="${WATCHDOG_SUBJECT}: ${1}"
   fi
 
+  # Send mail notification if enabled
   if [[ ! -z ${WATCHDOG_NOTIFY_EMAIL} ]]; then
     IFS=',' read -r -a MAIL_RCPTS <<< "${WATCHDOG_NOTIFY_EMAIL}"
     for rcpt in "${MAIL_RCPTS[@]}"; do
@@ -158,6 +159,23 @@ function notify_error() {
       fi
     done
   fi
+
+  # Send webhook notification if enabled
+  if [[ ! -z ${WATCHDOG_NOTIFY_WEBHOOK} ]]; then
+    if [[ -z ${WATCHDOG_NOTIFY_WEBHOOK_BODY} ]]; then
+      log_msg "No webhook body set, skipping webhook notification..."
+      return 1
+    fi
+
+    WEBHOOK_BODY=$(echo "${WATCHDOG_NOTIFY_WEBHOOK_BODY}" | envsubst '$SUBJECT,$BODY')
+
+    curl -X POST \
+      -H "Content-Type: application/json" \
+      -d ${WEBHOOK_BODY} \
+      ${WATCHDOG_NOTIFY_WEBHOOK}
+
+    log_msg "Posted notification to webhook"
+  fi
 }
 
 get_container_ip() {