webhook - webhook is a lightweight configurable tool written in Go, that allows you to easily create HTTP endpoints (hooks) on your server, which you can use to execute configured commands

  •        165

webhook is a lightweight configurable tool written in Go, that allows you to easily create HTTP endpoints (hooks) on your server, which you can use to execute configured commands. You can also pass data from the HTTP request (such as headers, payload or query variables) to your commands. webhook also allows you to specify rules which have to be satisfied in order for the hook to be triggered.For example, if you're using Github or Bitbucket, you can use webhook to set up a hook that runs a redeploy script for your project on your staging server, whenever you push changes to the master branch of your project.




Related Projects

jekyll-hook - No Longer Maintained | A server that listens for GitHub webhook posts and renders a Jekyll site

  •    Javascript

A server that listens for webhook posts from GitHub, generates a website with Jekyll, and moves it somewhere to be published. Use this to run your own GitHub Pages-style web server. Great for when you need to serve your websites behind a firewall, need extra server-level features like HTTP basic auth (see below for an NGINX config with basic auth), or want to host your site directly on a CDN or file host like S3. It's cutomizable with two user-configurable shell scripts and a config file.

github-webhook-handler - Node.js web handler / middleware for processing GitHub Webhooks

  •    Javascript

GitHub allows you to register Webhooks for your repositories. Each time an event occurs on your repository, whether it be pushing code, filling issues or creating pull requests, the webhook address you register can be configured to be pinged with details.This library is a small handler (or "middleware" if you must) for Node.js web servers that handles all the logic of receiving and verifying webhook requests from GitHub.

webhook.site - ⚓️ Easily test HTTP webhooks with this handy tool that displays requests in realtime.

  •    Javascript

With the Webhook Tester app, you can easily test HTTP webhooks and other types of HTTP requests. Upon visiting the app, you get a random URL to send your requests and webhooks to, and they're all logged in the app – instantly. Check it out at https://webhook.site.

zabbix-slack-alertscript - Zabbix AlertScript for Slack.com chat

  •    Shell

This is simply a Bash script that uses the custom alert script functionality within Zabbix along with the incoming web-hook feature of Slack that I got a chance to write since I could not find any already existing/similar scripts. If you do change AlertScriptsPath (or any other values) within zabbix_server.conf, a restart of the Zabbix server software is required.

slack - A simple PHP package for sending messages to Slack, with a focus on ease of use and elegant syntax

  •    PHP

A simple PHP package for sending messages to Slack with incoming webhooks, focussed on ease-of-use and elegant syntax. Note: this package is no longer being actively maintained. Then create an incoming webhook on your Slack account for the package to use. You'll need the webhook URL to instantiate the client (or for the configuration file if using Laravel).

backstop - HTTP service for submitting metrics to Graphite

  •    Ruby

Backstop is a simple endpoint for submitting metrics to Graphite. It accepts JSON data via HTTP POST and proxies the data to one or more Carbon/Graphite listeners. Backstop can receive commit data from GitHub post-receive webhooks. Your WebHook URL should consist of the Backstop service URL with the /github endpoint. For example, https://backstop.example.com/github.

django-rest-hooks - :love_letter: Add webhook subscriptions to your Django app.

  •    Python

REST Hooks are fancier versions of webhooks. Traditional webhooks are usually managed manually by the user, but REST Hooks are not! They encourage RESTful access to the hooks (or subscriptions) themselves. Add one, two or 15 hooks for any combination of event and URLs, then get notificatied in real-time by our bundled threaded callback mechanism. Using our built-in actions, zero work is required to support any basic created, updated, and deleted actions across any Django model. We also allow for custom actions (IE: beyond CRUD) to be simply defined and triggered for any model, as well as truly custom events that let you send arbitrary payloads.

mailin - Artisanal inbound emails for every web app

  •    Python

Mailin is an smtp server that listens for emails, parses them and posts them as json to the url of your choice. It checks the incoming emails dkim, spf, spam score (using spamassassin) and tells you in which language the email is written. Mailin can be used as a standalone application directly from the command line, or embedded inside a node application.

Serve the web – HTTP server framework

  •    Rust

Tide is a friendly HTTP server built for casual Rustaceans and veterans alike. It's completely modular, and built directly for async/await. Whether it's a quick webhook, or an L7 load balancer, Tide will make it work. Each Tide endpoint takes a Request and returns a Response. Because async functions allow us to wait without blocking, this makes Tide feel similar to synchronous servers. Except it's incredibly efficient.

hooktftp - Hook based tftp server written in Go (golang)

  •    Go

Hooktftp is a dynamic read-only TFTP server. It's dynamic in a sense it isexecutes hooks matched on read requests (RRQ) instead of reading files fromthe file system. Hooks are matched with regular expressions and on matchhooktftp will execute a script, issue a HTTP GET request or just reads the filefrom the filesystem.This is server inspired by [puavo-tftp]. It's written in Go in the hope ofbeing faster and more stable.It's intented to be used with [PXELINUX][] for dynamic mac address based boot

mandrill-rails - Webhook processing and event decoration to make using Mandrill with Rails just that much easier

  •    Ruby

The primary goal of Mandrill::Rails is to make supporting Mandrill web hooks as easy and Rails-native as possible. As other opportunities for better Rails integration of the Mandrill API are discovered, these may be rolled in too. I thought about implementing this as an engine, but the overhead did not seem appropriate. Maybe that view will change..

thorn - Easy Webhooks for Python

  •    Python

Thorn is a webhook framework for Python, focusing on flexibility and ease of use, both when getting started and when maintaining a production system. The goal is for webhooks to thrive on the web, by providing Python projects with an easy solution to implement them and keeping a repository of patterns evolved by the Python community.

Probot - GitHub Apps to automate and improve your workflow

  •    Javascript

Probot is a framework for building GitHub Apps in Node.js. It aims to eliminate all the drudgery–like receiving and validating webhooks, and doing authentication handstands–so you can focus on the features you want to build. Probot apps are easy to write, deploy, and share.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

graphql-engine - Blazing fast, instant realtime GraphQL APIs on Postgres with fine grained access control, also trigger webhooks on database events

  •    Javascript

Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you instant, realtime GraphQL APIs over Postgres, with webhook triggers on database events for asynchronous business logic. Hasura helps you build GraphQL apps backed by Postgres or incrementally move to GraphQL for existing applications using Postgres.

slackbot - Simple, pluggable bot framework for Slack chat.

  •    Go

Simple, pluggable bot framework for Slack chat. Slackbot uses environment variables for all configuration, with domain wide variables prefixed by the domain name in title case (e.g. MYDOMAIN_IN_URL for MyDomain's incoming webhook URL). This makes it easy to support multiple domains and deploy to Heroku. Make sure to set a PORT environment variable defining what port to run your bot on.

playSMS - PHP based SMS Gateway

  •    PHP

playSMS is a flexible Web-based Mobile Portal System that it can be made to fit to various services such as an SMS gateway, personal messaging systems, corporate and group communication tools.

pod - Git push deploy for Node.js

  •    Javascript

It doesn't manage DNS routing for you (personally I'm doing that in Nginx) but you can use pod to run a node-http-proxy server on port 80 that routes incoming requests to other apps. That's it! App should be automatically running after the push. For later pushes, app process will be restarted. There's more to it though, read on to find out more.