This program takes a GitHub webhook POST request, parses it according to configuration, and redirects it to another POST endpoint.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Matei-Alexandru Gardus e100982fda
Add decode of base64 string from GitHub webhook
hace 10 meses
.vscode Initial commit hace 11 meses
config Reconfigure config package hace 10 meses
hooks Make "original" field exported hace 10 meses
log Fix logger to show information level hace 10 meses
server Add decode of base64 string from GitHub webhook hace 10 meses
.gitignore Initial commit hace 11 meses
LICENSE Initial commit hace 11 meses
README.md Add information of how to use to README hace 10 meses
main.go Fix main.go file in order to actually work hace 10 meses

README.md

GitHookParser

GitHookParser is a nifty server written in Go that can take a GitHub webhook, parse it according to configuration, and redirect it to another POST endpoint.

Primarily, this can be used to manage multiple webhooks for GitHub repos on the fly and send them all to a push notification service defined by the user, such as Pushover. Currently, this is the only notification service supported.

Getting started

To install GitHookParser, simply

go get -u -v github.com/stormfirefox1/GitHookParser

By default, a configuration file is needed under $HOME/.config/git-hook-parser/config.yml. If there is a file there, it will read any environment variables from the respective file. You will need to set, at minimum:

  • REDIRECT_URL
  • API_KEY
  • USER_TOKEN

After creating the configuration file, run the compiled binary, either by go install it or by running go build and moving the binary to your directory of choice.

Then, point GitHub’s webhook to:

http://example.com:80/github-hook

and watch the magic happen.