Skip to content

tsturzl/hookd-old

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

#WIP

This is currently uncomplete and a work in progress. Do not use, currently untested.

##What is it?

Hookd is a simple solution to consuming webhooks without needing to worry about the hassle of creating a webserver. Hookd allows you to consume a webhook and pass that data to any script regardless of language. This makes setting up a github push webhook for auto-deploy stupid simple. In return it also lets you output JSON to be sent back in a response. All using standard i/o.

###Asynchronous by design

Built upon twisted matrix and the klien micro-framework, hookd is build completely asynchronous from front to back to scale to high demands.

###Configuration

The config file is YAML format, and its dead simple.

Examples:

---
githubPush:
  cmd: /home/appUser/deploy.sh
  env:
    DEPLOY_ENV: production
    BRANCH: master

route: /hook/githubpush[POST]

Options:

  • cmd
    • Absolute path of command to run
  • env
    • Optionally pass environment variables as key value pairs

###Inspiration

websocketd CGI for websockets Git-Auto-Deploy Webhook consuming service for git push events from popular source code hosts.

###Contributions

Anything helps. Got an idea? Put it in a ticket. Pull requests are welcomed.

Some short term goals is to map json values with dot notation(eg. commit[0].user.id) to arguments for the command line. Another useful feature would be to provie a feature to keep the script alive and write to stdin upon hook events.

###License

Published under a MIT License.

About

Configurable webhook server which executes commands when webhook is consumed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages