3 Commits

Author SHA1 Message Date
Tyler Perkins
d98c930f43 Add drone 2022-12-16 19:35:43 -05:00
Tyler Perkins
dc95ca7d1d Add base settings for now 2022-12-16 19:28:39 -05:00
Tyler Perkins
d8d8569a00 Add Dockerfile and main.sh 2022-12-16 18:56:24 -05:00
4 changed files with 8 additions and 76 deletions

View File

@@ -15,17 +15,3 @@ steps:
when:
branch:
- main
- name: notify
image: clortox/drone-ntfy
settings:
URL: https://ntfy.clortox.com
USERNAME: drone
PASSWORD:
from_secret: ntfy_password
TOPIC: drone-builds
MESSAGE: Drone-ntfy has finished building!
CLICK: https://drone.clortox.com/tyler/drone-ntfy
TITLE: Drone (drone-ntfy)
when:
branch:
- main

View File

@@ -1,5 +1,5 @@
FROM alpine
COPY main.sh /bin/
FROM apline
ADD main.sh /bin/
RUN chmod +x /bin/main.sh
RUN apk -Uuv add curl ca-certificates bash
ENTRYPOINT bash /bin/main.sh
RUN apk -Uuv add curl ca-certificates
ENTRYPOINT /bin/main.sh

View File

@@ -1,49 +1,6 @@
# drone-ntfy
[![Build Status](https://drone.clortox.com/api/badges/tyler/drone-ntfy/status.svg?ref=refs/heads/main)](https://drone.clortox.com/tyler/drone-ntfy)
A [Drone](https://drone.io) plugin for ntfy.
A [Drone](https://drone.io) plugin for [ntfy](https://ntfy.sh).
Find the container on [docker hub](https://hub.docker.com/repository/docker/clortox/drone-ntfy).
## Example
The following is an example pipeline where we only send a notification
```yaml
steps:
- name:
image: clortox/drone-ntfy
settings:
URL: https://ntfy.clortox.com
USERNAME: drone
PASSWORD:
from_secret: ntfy_password
TOPIC: drone-builds
MESSAGE: Drone build done!
CLICK: https://drone.clortox.com/tyler/drone-ntfy
TITLE: Drone (Drone-ntfy)
```
A living, breathing example of this is in this repository's [drone file](.drone.yml).
## Options
There are several options that you can configure when sending the notification.
Note that the `ntfy Name` is the name you will use in the settings section of
your configuration.
| ntfy Name | Container Environment Variable | Default Value | Description |
| -------- | ------ | ----- | ----------- |
| Priority | PLUGIN_PRIORITY | N/A | Notification Priority |
| Title | PLUGIN_TITLE | N/A | Title of the notification |
| Tags | PLUGIN_TAGS | N/A | Emojis on the notification |
| Click | PLUGIN_CLICK | N/A | URL to navigate to if the user clicks the notification |
| Attach | PLUGIN_ATTACH | N/A | URL or localfile to attach |
| Icon | PLUGIN_ICON | N/A | Icon to display |
| URL | PLUGIN_URL | ntfy.sh | URL to send the notification to |
| Topic | PLUGIN_TOPIC | drone-notifications | The notification top to send this to |
| Message | PLUGIN_MESSAGE | Pipeline Finished! | The body of the notification |
| Username | PLUGIN_USERNAME | N/A | The username to authenticate with |
| Password | PLUGIN_PASSWORD | N/A | The password to authenticate with |

17
main.sh
View File

@@ -6,6 +6,7 @@ Priority=${PLUGIN_PRIORITY:-}
Title=${PLUGIN_TITLE:-}
Tags=${PLUGIN_TAGS:-}
Click=${PLUGIN_CLICK:-}
Attach=${PLUGIN_ATTACH:-}
Icon=${PLUGIN_ICON:-}
@@ -16,10 +17,6 @@ Message=${PLUGIN_MESSAGE:-Pipeline finished!}
Username=${PLUGIN_USERNAME:-}
Password=${PLUGIN_PASSWORD:-}
if [[ ! -z $Username ]] || [[ ! -z $Password ]]; then
UParam="-u $Username:$Password"
fi
if [[ ! -z $Priority ]]; then
Priority="-H Priority:$Priority"
fi
@@ -36,13 +33,5 @@ if [[ ! -z $Click ]]; then
Click="-H Click:$Click"
fi
if [[ ! -z $Attach ]]; then
Attach="-H Attach:$Attach"
fi
if [[ ! -z $Icon ]]; then
Icon="-H Icon:$Icon"
fi
curl $Priority $Title $Tags $Click $Attach $Icon $UParam -d "$Message" $URL/$Topic
#curl $Priority $Title $Tags $Click $Attach $Icon $UParam -d "$Message" $URL/$Topic
curl $Priority $Title $Tags $Click -u $Username:$Password -d "$Message" $URL/$Topic
#echo curl $Priority $Title $Tags $Click -u $Username:$Password -d "$Message" $URL/$Topic