Initialize repository

This commit is contained in:
eikendev 2020-03-31 19:22:19 +02:00
commit b0d7c6c157
5 changed files with 114 additions and 0 deletions

7
Dockerfile Normal file
View file

@ -0,0 +1,7 @@
FROM curlimages/curl:latest
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

7
LICENSE Normal file
View file

@ -0,0 +1,7 @@
ISC License (ISC)
Copyright 2020 eikendev
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

53
README.md Normal file
View file

@ -0,0 +1,53 @@
# Gotify Notification Action
This action allows you to send push notifications via [Gotify](https://gotify.net/).
Gotify is an open-source push notification server.
## Inputs
### `notification_title`
**Required** The title of the Gotify notification.
### `notification_message`
**Required** The message of the Gotify notification. Default `""`.
### `notification_priority`
**Required** The priority of the Gotify notification. Default `4`.
## Outputs
This action has no outputs.
## Secrets
### `gotify_api_base`
**Required** The HTTP endpoint where the Gotify API is exposed.
### `gotify_app_token`
**Required** The token of the Gotify application.
## Usage
Create a file `.github/workflows/main.yml` in your repository with the following contents.
```yaml
name: Gotify Notification
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Gotify Notification
uses: eikendev/action-gotify@master
env:
gotify_api_base: ${{ secrets.gotify_api_base }}
gotify_app_token: ${{ secrets.gotify_app_token }}
notification_title: 'Build Complete'
notification_message: 'Your build was completed.'
```

30
action.yml Normal file
View file

@ -0,0 +1,30 @@
name: 'Gotify Notification'
description: 'Send a notification via Gotify'
branding:
icon: 'bell'
color: 'blue'
inputs:
gotify_api_base:
description: 'The HTTP endpoint where the Gotify API is exposed'
required: true
gotify_app_token:
description: 'The token of the Gotify application'
required: true
notification_title:
description: 'The title of the Gotify notification'
required: true
notification_message:
description: 'The message of the Gotify notification'
default: ''
notification_priority:
description: 'The priority of the Gotify notification'
default: 4
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.gotify_api_base }}
- ${{ inputs.gotify_app_token }}
- ${{ inputs.notification_title }}
- ${{ inputs.notification_message }}
- ${{ inputs.notification_priority }}

17
entrypoint.sh Executable file
View file

@ -0,0 +1,17 @@
#!/usr/bin/env sh
if [ $# -ne 5 ]; then
printf "%s\n" "Usage: $0 <gotify_api_base> <gotify_app_token> <notification_title> <notification_message> <notification_priority>" >&2
exit 1
fi
gotify_api_base="$1"
gotify_app_token="$2"
notification_title="$3"
notification_message="$4"
notification_priority="$5"
curl "$gotify_api_base/message?token=$gotify_app_token" \
-F "title=$notification_title" \
-F "message=$notification_message" \
-F "priority=$notification_priority"