? A webhook server with zero coding
Hooka is a webhook server written in Node, which allows you to easily create HTTP endpoints to trigger the execution of configured commands.
$ npm install -g hooka
webhooks.json
file:
Windows users: Replace
$MESSAGE
with%MESSAGE%
[
{
"method": ["GET", "POST"],
"path": "/hello",
"command": "echo Hello world"
},
{
"method": "POST",
"path": "/hello-again",
"command": "echo Hello from the other side: $MESSAGE",
"validate": [
{
"source": "jsonBody",
"find": "payload.token",
"match": "exactly",
"value": "MySecret"
}
],
"parseJson": [
{
"query": "payload.hello",
"variable": "MESSAGE"
}
]
}
]
$ hooka
Open http://localhost:3000/hello in your browser to trigger the first hook.
Trigger the second hook with a POST request in a new terminal window:
$ curl \
-H "Content-Type: application/json" \
-X POST \
-d '{"hello": "I love cupcakes", "token": "MySecret"}' \
http://localhost:3000/hello-again
Replace /path/to/webhooks.json
with the actual path to your webhooks JSON file.
$ docker run -v /path/to/webhooks.json:/src/webhooks.json -p 3000:3000 danistefanovic/hooka
Since anyone could in principle send requests to your webhook server, it’s important to implement some basic security steps to keep your webhooks safe. Here are some tips that can help reduce the risks:
hmac-sha1
match typeexactly
Do whatever you want with it, but don't blame me for anything that goes wrong.
MIT © Daniel Stefanovic