Skip to content
This repository was archived by the owner on Jul 19, 2026. It is now read-only.

Barina/gotify-webhookah

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ This repository is archived.

Webhookah started as a Gotify plugin, but the plugin model turned out to be the wrong fit. The builder doesn't need to live inside Gotify — it doesn't modify Gotify, depend on its internals, or benefit from being bundled with it. As a plugin it's awkward to reach (buried in the plugin panel), requires a matching .so per Gotify version and architecture, and adds unnecessary build complexity. The tool itself is just a small web UI that generates curl commands and talks to Gotify's public API — it runs fine as a standalone app pointed at any Gotify instance.

The repo is archived for reference. You're welcome to fork it, rip out the plugin scaffolding, and run it as a plain web app. The core logic is all in plugin.go — the HTML, CSS, and JS embedded in serveBuilder is self-contained and straightforward to extract.

Webhookah

A Gotify plugin for building and testing webhook curl commands — with markdown support, domain override, and a UI that doesn't make you cry.

Webhookah screenshot


Why?

Gotify already lets you send per app messages via its interface. But generating the right curl command every time - remembering the app token, escaping the message, adding the right headers for markdown — is tedious.

Webhookah gives you a proper builder UI inside your Gotify instance:

  • Picks up your apps automatically (no manual token pasting)
  • Generates a ready-to-copy curl command
  • Supports markdown messages via Gotify's extras API (sent as JSON body, which is the only way it seems to works)
  • Domain override field for generating commands pointing at a different host (e.g. your internal address)
  • Test button that fires the message instantly from the browser
  • Remembers your last values across sessions

Installation

  1. Go to the Releases page
  2. Download the .so file matching your Gotify server's architecture and version, e.g.:
    webhookah-linux-amd64-for-gotify-v2.9.1.so
    
  3. Copy it to your Gotify plugins directory (default: ./data/plugins/)
  4. Restart Gotify
  5. In the Gotify web UI, go to Plugins, find Webhookah, and click Enable
  6. Click the Open Webhook Builder link in the plugin's display panel

Note: The .so file must match the exact Go version and architecture Gotify was built with. If you're unsure, check your Gotify server's version and pick the matching release file.


Building from Source

Requirements: Go, Docker, Make

git clone https://github.com/barina/gotify-webhookah
cd gotify-webhookah

# Install gomod-cap (once)
go install github.com/gotify/plugin-api/cmd/gomod-cap@latest
export PATH=$PATH:$(go env GOPATH)/bin

# Build for all architectures
make GOTIFY_VERSION="v2.9.1" FILE_SUFFIX="-for-gotify-v2.9.1" build

Output .so files will be in the ./build/ directory.

To build for a specific architecture only:

make GOTIFY_VERSION="v2.9.1" FILE_SUFFIX="-for-gotify-v2.9.1" build-linux-amd64

Docker is required for cross-compilation. Make sure your user is in the docker group (sudo usermod -aG docker $USER) so you don't need to run make as root.


Usage

  1. Open the builder via the link in the Webhookah plugin panel
  2. Select an app from the dropdown
  3. Fill in your message (required), title, and priority as needed
  4. Optionally enter a domain override to generate a command pointing at a different host
  5. Toggle Markdown on if your message contains markdown syntax — this switches the output to a JSON-body curl command with the correct extras header that Gotify requires for markdown rendering
  6. Copy the generated command or hit Test to send immediately

Disclaimer

This plugin is provided as-is under the MIT license. It is not affiliated with or endorsed by the Gotify project.

The plugin reads your Gotify session token from localStorage to fetch your app list — this happens entirely within your browser and your own Gotify instance. No data is sent anywhere else.

Use at your own risk. The author takes no responsibility for misconfigured webhooks, flooded notification channels, or CI pipelines that page you at 3am.

AI Assistance

This project was built with the assistance of AI. The plugin code, build tooling, and this README were developed through an iterative conversation as well as more sophisticated AI tools — debugging build issues, fixing the plugin API interface, and refining the UI together. The ideas, requirements, and final decisions are the author's; the AI helped write and troubleshoot the implementation.


License

MIT © Roy Barina

About

A Gotify plugin that helps you build webhooks.

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages