48 lines
1.4 KiB
YAML
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 |