- PHP 100%
| Controller | ||
| Helper | ||
| Listener | ||
| Template/config | ||
| composer.json | ||
| Plugin.php | ||
| README.md | ||
Kanboard Apprise Notifier
A Kanboard plugin that sends board events to a self-hosted Apprise API server, allowing notifications to be dispatched to any service Apprise supports (Pushover, Gotify, Ntfy, Matrix, Slack, and many more).
Requirements
- Kanboard ≥ 1.2.20
- A running Apprise API instance
- PHP with the
curlextension enabled
Installation
- Download the latest release zip from the releases page.
- Extract and copy the
AppriseNotifierfolder into your Kanboardplugins/directory:plugins/ AppriseNotifier/ Plugin.php ... - The plugin is auto-discovered on next page load — no CLI steps needed.
Configuration
Go to Settings → Integrations and scroll to the Apprise Notifications section.
| Setting | Description |
|---|---|
| Enable | Global on/off switch |
| Apprise API base URL | e.g. https://apprise.example.com or http://localhost:8000 |
| Config ID | Optional. Apprise stateful config ID — uses /notify/<config_id> |
| Tag filter | Optional. Filters to URLs with this tag in your Apprise config |
| Site name | Prepended to every notification title. Defaults to Kanboard |
URL construction
Depending on what you configure, the notify endpoint is built as follows:
| Config ID | Tag | Endpoint |
|---|---|---|
| ✗ | ✗ | /notify |
| ✗ | mytag |
/notify/mytag |
myconfig |
✗ | /notify/myconfig |
myconfig |
mytag |
/notify/myconfig/mytag |
Use the Send test notification button to confirm connectivity after saving.
Events covered
| Category | Events |
|---|---|
| Tasks | Created, Updated, Closed, Reopened, Moved (column), Moved (project), Assignee changed, Overdue |
| Comments | Created, Edited, Deleted |
| Subtasks | Created, Updated, Deleted |
Each event can be individually enabled or disabled from the settings page.
Notification format
Notifications include the site name, board name, and relevant context. For example:
[My Kanboard] ➡️ Task Moved [Work Board] "Fix login bug" moved to column "Done"
Apprise API payload
Each notification POSTs JSON to the configured endpoint:
{
"title": "[My Kanboard] ➡️ Task Moved",
"body": "[Work Board] \"Fix login bug\" moved to column \"Done\"",
"type": "success"
}
type maps to Apprise's notify_type: one of info, success, warning, or failure.
File structure
AppriseNotifier/
├── Plugin.php Main entry point
├── composer.json Plugin manifest
├── Controller/
│ └── ConfigController.php Test notification endpoint
├── Helper/
│ └── AppriseHelper.php HTTP client and config reader
├── Listener/
│ ├── TaskListener.php
│ ├── CommentListener.php
│ └── SubtaskListener.php
└── Template/
└── config/
└── settings.php Settings UI (Integrations tab)
License
MIT
Author
Dave Naylor — https://git.vanilli.co.uk/dave/kanboard-apprise-notifier