/smee

🔴 Receives payloads then sends them to your local server

Primary LanguageJavaScriptISC LicenseISC

smee · Build Status Codecov

smee is a web application that receives payloads then sends them, via the EventSource API, to other clients.

How it works

  1. Go to https://smee.io/new, which will redirect you to a randomly generated channel. You must be using a browser that supports Server-Sent Events.

  2. Use that new page's URL as your App's Webhook URL

  3. Use the client to proxy events and send them to a path on your local device, or set it as your Probot App's WEBHOOK_PROXY_URL environment variable.

  4. Watch events come in to the web UI

  5. Profit!

Motivation

One of the most cumbersome parts of building a GitHub App with Probot is dealing with webhook deliveries. When working locally, for your app to receive webhooks you'd need to expose it to the internet - that's where we've used localtunnel. However, it's not very reliable or fast and is more than many apps need to simply collect webhook events.

This also gave us a way to build our own UI around the needs of a Probot App. Together with the GitHub App UI, we now have a better way to get the full picture of what goes on in an app in development.

Setup

# Install dependencies
npm install

# Run the server
npm start