Skip to main content

Django-powered GitHub (& Bitbucket) web hooks

Project description

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

https://img.shields.io/travis/sheppard/django-github-hook.svg https://img.shields.io/pypi/v/django-github-hook.svg

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

Usage

  • pip install django-github-hook

  • Add github_hook to INSTALLED_APPS in your settings.py

  • ./manage.py migrate (or ./manage.py syncdb)

  • Add e.g. url(r'^hook/', include('github_hook.urls')) to your urls.py 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

Examples

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

hook_signal.connect(processWebhook)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-github-hook-0.2.1.tar.gz (3.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page