Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Run command on GitHub and BitBucket POST request hooks

Project Description

Run command on GitHub and BitBucket POST request hooks.


You can install hooked in a virtualenv (with virtualenvwrapper and pip):

$ mkvirtualenv hooked
(hooked) $ pip install hooked

Or if you want to contribute some patches to hooked:

$ git clone
$ cd hooked/
$ mkvirtualenv hooked
(hooked) $ python develop


Create a configuration file that looks like:

$ cat path/to/config.cfg

host =
port = 8080
server = cherrypy
debug = true

repository = myrepo
branch = master
command = /path/to/

#repository = # will match all repository
#branch = # will match all branches
command = /path/to/other/

Note that the [server] section is optional, the defaults are:

host = localhost
port = 8888
server = wsgiref
debug = false


Run the hooked server by running the following command:

(hooked) $ hooked path/to/config.cfg

Then visit http://localhost:8888/, it should return the current configuration for this hooked server. If this works, you are ready to configure GitHub and BitBucket POST request web hooks to your hooked server listening address, for example: http://localhost:8888/.


You can also manually run hooks though GET requests:

  • requesting the /hooks/<repo>/<branch> url will run all hooks that match repository=<repo> and branch=<branch>
  • requesting the /hook/<hook> url will run the hook which name is <hook>


To make a new release, do the following steps:

$ vi  # bump version
$ git add
$ git commit -m "bump version to X.X.X"
$ git tag vX.X.X
$ git push --tags
$ python sdist upload


Thanks to the hook-server and githook projects for inspiration.

Release History

Release History

This version
History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
hooked-0.3.tar.gz (4.8 kB) Copy SHA256 Checksum SHA256 Source Jan 31, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting