All Projects → piranha → Webhooker

piranha / Webhooker

Licence: isc
github webhook handler

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Webhooker

Generic Webhook Trigger Plugin
Can receive any HTTP request, extract any values from JSON or XML and trigger a job with those values available as variables. Works with GitHub, GitLab, Bitbucket, Jira and many more.
Stars: ✭ 287 (+583.33%)
Mutual labels:  webhook
Laravel Shopify
A full-featured Laravel package for aiding in Shopify App development
Stars: ✭ 634 (+1409.52%)
Mutual labels:  webhook
Actions Status Discord
Discord Notification Made Easy.
Stars: ✭ 26 (-38.1%)
Mutual labels:  webhook
Telegram
Telegram Bot API Wrapper for Scala
Stars: ✭ 310 (+638.1%)
Mutual labels:  webhook
Wsify
Just a tiny, simple and real-time self-hosted pub/sub messaging service
Stars: ✭ 452 (+976.19%)
Mutual labels:  webhook
Webhook
webhook is a lightweight incoming webhook server to run shell commands
Stars: ✭ 7,201 (+17045.24%)
Mutual labels:  webhook
Netpalm
ReST based network device broker
Stars: ✭ 270 (+542.86%)
Mutual labels:  webhook
Tutter
Plugin based Github robot
Stars: ✭ 14 (-66.67%)
Mutual labels:  webhook
Git Deploy
Php Script for Auto-Pull in server (Using WebHook from GitLab, GitHub and Bitbucket)
Stars: ✭ 495 (+1078.57%)
Mutual labels:  webhook
Java Fbchatbot
Messenger webhook implementation in java with jetty, contracts of facebook messenger webhook
Stars: ✭ 24 (-42.86%)
Mutual labels:  webhook
Ddns Go
简单好用的DDNS。自动更新域名解析到公网IP(支持阿里云、腾讯云dnspod、Cloudflare、华为云)
Stars: ✭ 307 (+630.95%)
Mutual labels:  webhook
Telegram Bot
Ruby gem for building Telegram Bot with optional Rails integration
Stars: ✭ 433 (+930.95%)
Mutual labels:  webhook
Autodeploy
🚀 Autodeploy is a small and highly customizable CLI-Tool to automatically deploy your git repo and execute arbitrary commands/scripts after a specific git action (e.g. push, merge, ...)
Stars: ✭ 20 (-52.38%)
Mutual labels:  webhook
Smtp2http
A tiny software that receive a smtp request (email) and send it to the specified webhook as a http post request
Stars: ✭ 294 (+600%)
Mutual labels:  webhook
Postmark webhooks
Lightweight quickstart app for receiving and processing webhooks from Postmark
Stars: ✭ 14 (-66.67%)
Mutual labels:  webhook
Travis Ci Discord Webhook
⛓ Here's your serverless solution for sending build status from Travis CI to Discord as webhooks.
Stars: ✭ 273 (+550%)
Mutual labels:  webhook
Server
🏊 A Github bot to keep repository forks up to date with their upstream.
Stars: ✭ 661 (+1473.81%)
Mutual labels:  webhook
Pulsar Beam
Pulsar Beam is a streaming service via HTTP built on Apache Pulsar.
Stars: ✭ 37 (-11.9%)
Mutual labels:  webhook
Authnetjson
Library that abstracts Authorize.Net's JSON APIs. This includes the Advanced Integration Method (AIM), Automated Recurring Billing (ARB), Customer Information Manager (CIM), Transaction Reporting, Simple Integration Method (SIM), and Webhooks.
Stars: ✭ 14 (-66.67%)
Mutual labels:  webhook
Github To S3 Lambda Deployer
⚓️ GitHub webhook extension for uploading static pages to AWS S3 directly after commiting to master via Lambda written in Node.js
Stars: ✭ 23 (-45.24%)
Mutual labels:  webhook

webhooker

An application to run shell commands on incoming WebHooks from Github.

Build Status

Installation

Install it with go get github.com/piranha/webhooker or download a binary from releases page.

Usage

You run it like this (run webhooker without arguments to get help - you could also put all rules in a separate config file):

./webhooker -p 3456 -i 127.0.0.1 piranha/webhooker:master='echo $COMMIT'

It runs every command in sh, so you can use more complex commands (with && and |).

user/repo:branch pattern is a regular expression, so you could do user/project:fix.*=cmd or even .*=cmd.

Running

I expect you to run it behind your HTTP proxy of choice, and in my case it's nginx and such config is used to protect it from unwanted requests:

    location /webhook {
        proxy_pass http://localhost:3456;
        allow 204.232.175.64/27;
        allow 192.30.252.0/22;
        deny all;
    }

After that I can put http://domain.my/webhook/ in Github's repo settings WebHook URLs and press 'Test Hook' to check if it works.

Environment

webhooker provides your commands with some variables in case you need them:

  • $REPO - repository name in "user/name" format
  • $REPO_URL - full repository url
  • $PRIVATE - strings "true" or "false" if repository is private or not
  • $BRANCH - branch name
  • $COMMIT - last commit hash id
  • $COMMIT_MESSAGE - last commit message
  • $COMMIT_TIME - last commit timestamp
  • $COMMIT_AUTHOR - username of author of last commit
  • $COMMIT_URL - full url to commit

And, of course, it passes through some common variables: $PATH, $HOME, $USER.

Example

I render my own sites using webhooker. I've just put it in supervisord like that:

[program:webhooker]
command = /home/piranha/bin/webhooker -p 5010 -i 127.0.0.1
    piranha/solovyov.net:master='cd ~/web/solovyov.net && GOSTATIC=~/bin/gostatic make update'
    piranha/osgameclones:master='cd ~/web/osgameclones && CYRAX=/usr/local/bin/cyrax make update'
user = piranha
environment=HOME="/home/piranha"

You can see that it updates and renders sites on push to them (make update there runs git pull and renders site).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].