1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/env sh
- #Support Gotify
- #GOTIFY_URL="https://gotify.example.com"
- #GOTIFY_TOKEN="123456789ABCDEF"
- #optional
- #GOTIFY_PRIORITY=0
- # subject content statusCode
- gotify_send() {
- _subject="$1"
- _content="$2"
- _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
- _debug "_subject" "$_subject"
- _debug "_content" "$_content"
- _debug "_statusCode" "$_statusCode"
- GOTIFY_URL="${GOTIFY_URL:-$(_readaccountconf_mutable GOTIFY_URL)}"
- if [ -z "$GOTIFY_URL" ]; then
- GOTIFY_URL=""
- _err "You didn't specify the gotify server url GOTIFY_URL."
- return 1
- fi
- _saveaccountconf_mutable GOTIFY_URL "$GOTIFY_URL"
- GOTIFY_TOKEN="${GOTIFY_TOKEN:-$(_readaccountconf_mutable GOTIFY_TOKEN)}"
- if [ -z "$GOTIFY_TOKEN" ]; then
- GOTIFY_TOKEN=""
- _err "You didn't specify the gotify token GOTIFY_TOKEN."
- return 1
- fi
- _saveaccountconf_mutable GOTIFY_TOKEN "$GOTIFY_TOKEN"
- GOTIFY_PRIORITY="${GOTIFY_PRIORITY:-$(_readaccountconf_mutable GOTIFY_PRIORITY)}"
- if [ -z "$GOTIFY_PRIORITY" ]; then
- GOTIFY_PRIORITY=0
- else
- _saveaccountconf_mutable GOTIFY_PRIORITY "$GOTIFY_PRIORITY"
- fi
- export _H1="X-Gotify-Key: ${GOTIFY_TOKEN}"
- export _H2="Content-Type: application/json"
- _content=$(echo "$_content" | _json_encode)
- _subject=$(echo "$_subject" | _json_encode)
- _data="{\"title\": \"${_subject}\", \"message\": \"${_content}\", \"priority\": ${GOTIFY_PRIORITY}}"
- response="$(_post "${_data}" "${GOTIFY_URL}/message" "" "POST" "application/json")"
- if [ "$?" != "0" ]; then
- _err "Failed to send message"
- _err "$response"
- return 1
- fi
- _debug2 response "$response"
- return 0
- }
|