/flask-github-webhook

A very simple github post-receive web hook handler

Primary LanguagePythonOtherNOASSERTION

Flask webhook for Github

A very simple github post-receive web hook handler that executes per default a pull uppon receiving. The executed action is configurable per repository.

It will also verify that the POST request originated from github.com.

Gettings started

Edit repos.json to configure repositories, each repository must be registered under the form GITHUB_USER/REPOSITORY_NAME.

{
    "razius/puppet": {
        "path": "/home/puppet",
        "action": [["git", "pull", "origin", "master"], ],
    },
    "d3non/somerandomexample/branch:live": {
        "path": "/home/exampleapp",
        "action": [["git", "pull", "origin", "live"],
            ["echo", "execute", "some", "commands", "..."] ]
    }
}

Install dependencies.

pip install -r requirements.txt

Start the server.

python index.py 80

Start the server behind a proxy (see: http://flask.pocoo.org/docs/deploying/wsgi-standalone/#proxy-setups)

USE_PROXYFIX=true python index.py 8080

Go to your repository's settings on github.com and register your public URL under Service Hooks -> WebHook URLs.