27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
webhook is a lightweight configurable tool written in Go, that allows
|
|
you to easily create HTTP endpoints (hooks) on your server, which you
|
|
can use to execute configured commands. You can also pass data from
|
|
the HTTP request (such as headers, payload or query variables) to your
|
|
commands. webhook also allows you to specify rules which have to be
|
|
satisfied in order for the hook to be triggered.
|
|
|
|
For example, if you're using Github or Bitbucket, you can use webhook
|
|
to set up a hook that runs a redeploy script for your project on your
|
|
staging server, whenever you push changes to the master branch of your
|
|
project.
|
|
|
|
If you use Mattermost or Slack, you can set up an "Outgoing webhook
|
|
integration" or "Slash command" to run various commands on your
|
|
server, which can then report back directly to you or your channels
|
|
using the "Incoming webhook integrations", or the appropriate response
|
|
body.
|
|
|
|
webhook aims to do nothing more than it should do, and that is:
|
|
1. receive the request,
|
|
2. parse the headers, payload and query variables,
|
|
3. check if the specified rules for the hook are satisfied,
|
|
4. and finally, pass the specified arguments to the specified command
|
|
via command line arguments or via environment variables.
|
|
|
|
Everything else is the responsibility of the command's author.
|