60 lines
1.2 KiB
YAML
60 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: ''
|
|
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
|
|
|
|
|
|
|
|
|