Skip to content
Configurable post-receive webhook handler, implemented as a Django app
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Simple continuous integration for Django developers, taking the form of a Django app for managing GitHub (or BitBucket) post receive hooks.

Tested on Python 2.7, 3.4 and 3.5, with Django 1.8 and 1.9.


  • pip install django-github-hook
  • Add github_hook to INSTALLED_APPS in your
  • ./ migrate (or ./ syncdb)
  • Add e.g. url(r'^hook/', include('github_hook.urls')) to your urlpatterns
  • Log into the Django admin console
  • Configure your hook with the folowing fields:
    • Name: Hook identifier
    • User: Repo username
    • Repo: Repo name
    • Path: Absolute path to script to execute
  • Go to your repo's "Service Hooks" settings on GitHub (or BitBucket) and add a WebHook/POST URL:
    • http[s]://[yourwebsite]/hook
    • The repo information will be read from the JSON payload
  • Alternatively, you can specify a specific hook by name:
    • http[s]://[yourwebsite]/hook/name


The following snippet show how to connect the webhook to a method using django's signal mechanism. Note that path must be set to "send-signal" in the hook object instead of an absolute path to a script.

from github_hook.models import hook_signal

def processWebhook(sender, **kwargs):
        for key, value in kwargs.iteritems():
                print key, value

You can’t perform that action at this time.