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
8 kuukautta sitten
.vscode Initial commit 8 kuukautta sitten
config Reconfigure config package 8 kuukautta sitten
hooks Make "original" field exported 8 kuukautta sitten
log Fix logger to show information level 8 kuukautta sitten
server Add decode of base64 string from GitHub webhook 8 kuukautta sitten
.gitignore Initial commit 8 kuukautta sitten
LICENSE Initial commit 8 kuukautta sitten
README.md Add information of how to use to README 8 kuukautta sitten
main.go Fix main.go file in order to actually work 8 kuukautta sitten

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.