Files
healthchecks-ping/action.yaml
2025-04-13 23:44:53 +02:00

54 lines
1.2 KiB
YAML

name: 'Ping a Healthchecks.io server'
description: 'Description de l action'
author: 'Eric Coissac'
inputs:
server:
description: 'Address of the Healthchecks server'
required: true
uuid:
description: 'Deuxième paramètre'
required: true
command:
description: 'Command to sen to the server can be nothing, start, log or fail'
required: false
default: 'stop'
message:
description: 'Message to log with the ping'
required: false
default: ''
runs:
using: 'composite'
steps:
- name: Ping the server
shell: bash
run: |
HEALTHPOINT="${{ inputs.server }}/ping/${{ input.uuid }}"
OPTIONS="-fsS -m 10 --retry 5"
MESSAGE="${{ inputs.message }}"
COMMAND="${{ input.command }}"
if [[ -n "$MESSAGE" ]] ; then
MESSAGE="--data-raw \"${MESSAGE}\""
fi
case "$COMMAND" in
start | log | fail)
URL="${HEALTHPOINT}/$COMMAND"
;;
stop)
URL="${HEALTHPOINT}"
;;
esac
RUN="curl $OPTIONS $MESSAGE '$URL'"
eval "$RUN"
if [[ "$COMMAND"=="fail" ]] ; then
exit 1
fi
exit 0