mirror of
https://github.com/Clortox/drone-ntfy.git
synced 2026-03-15 05:58:00 +00:00
Compare commits
9 Commits
d98c930f43
...
optional-u
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
528a6510eb | ||
|
|
7ab1061904 | ||
|
|
4bab19d289 | ||
|
|
0ca6b05d20 | ||
|
|
cd40495ff4 | ||
|
|
28b4caa7aa | ||
|
|
e93440e203 | ||
|
|
3e56688254 | ||
|
|
311b767a7d |
28
.drone.yml
Normal file
28
.drone.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
kind: pipeline
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: Build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username:
|
||||
from_secret: dockerhub_username
|
||||
password:
|
||||
from_secret: dockerhub_password
|
||||
repo:
|
||||
from_secret: dockerhub_repo
|
||||
tags: latest
|
||||
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)
|
||||
5
Dockerfile
Normal file
5
Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
||||
FROM alpine
|
||||
COPY main.sh /bin/
|
||||
RUN chmod +x /bin/main.sh
|
||||
RUN apk -Uuv add curl ca-certificates bash
|
||||
ENTRYPOINT bash /bin/main.sh
|
||||
45
README.md
45
README.md
@@ -1,2 +1,45 @@
|
||||
# drone-ntfy
|
||||
A Drone plugin for ntfy
|
||||
|
||||
A [Drone](https://drone.io) plugin for 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 (TODO) | PLUGIN_ATTACH | N/A | URL or localfile to attach |
|
||||
| Icon (TODO) | 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 |
|
||||
|
||||
|
||||
48
main.sh
Executable file
48
main.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
# Main script
|
||||
# Here we will simply perform a ntfy hit to a nfty server
|
||||
|
||||
Priority=${PLUGIN_PRIORITY:-}
|
||||
Title=${PLUGIN_TITLE:-}
|
||||
Tags=${PLUGIN_TAGS:-}
|
||||
Click=${PLUGIN_CLICK:-}
|
||||
Attach=${PLUGIN_ATTACH:-}
|
||||
Icon=${PLUGIN_ICON:-}
|
||||
|
||||
URL=${PLUGIN_URL:-ntfy.sh}
|
||||
Topic=${PLUGIN_TOPIC:-drone-notifications}
|
||||
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
|
||||
|
||||
if [[ ! -z $Title ]]; then
|
||||
Title="-H Title:$Title"
|
||||
fi
|
||||
|
||||
if [[ ! -z $Tags ]]; then
|
||||
Tags="-H Tags:$Tags"
|
||||
fi
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user