Files

48 lines
1.4 KiB
YAML

name: 'Notify Bark'
description: 'Send Gitea Actions run result to Bark iOS push'
author: 'gitea_admin'
inputs:
device_key:
description: 'Bark device key'
required: true
server:
description: 'Bark server URL (no trailing slash)'
required: false
default: 'https://api.day.app'
title:
description: 'Notification title'
required: true
body:
description: 'Notification body (multiline OK)'
required: true
group:
description: 'Notification group'
required: false
default: 'gitea-ci'
level:
description: 'Bark level (active/timeSensitive/passive/default)'
required: false
default: 'active'
runs:
using: 'composite'
steps:
- name: Send Bark push
shell: bash
env:
BARK_SERVER: ${{ inputs.server }}
DEVICE_KEY: ${{ inputs.device_key }}
TITLE: ${{ inputs.title }}
BODY: ${{ inputs.body }}
GROUP: ${{ inputs.group }}
LEVEL: ${{ inputs.level }}
run: |
set -u
# URL encode title / body
TITLE_ENC=$(printf '%s' "$TITLE" | jq -sRr @uri)
BODY_ENC=$(printf '%s' "$BODY" | jq -sRr @uri)
URL="${BARK_SERVER}/${DEVICE_KEY}/${TITLE_ENC}/${BODY_ENC}?group=${GROUP}&level=${LEVEL}"
if ! curl -fsS --max-time 10 --retry 2 "$URL" >/dev/null; then
echo "::warning::Bark push failed (non-fatal): $URL"
fi