Better GitHub Mail
Replacement web hook for GitHub's built-in push email notifications. Has the following advantages:
- HTML-formatted emails, with links to invidiual file diffs
- Use commiter display names without spoofing the email domain (which fails when using DMARC).
It's currently running at http://better-github-mail.appspot.com/.
Running Locally
- Install the Go App Engine SDK.
- Make sure that
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
is set to python
.
- Set up Mailgun: create
mailgun.json
and mailgun-dev.json
(for local development) files in the config
directory, based on the sample mailgun.SAMPLE.json that is already there.
- Install the following Go libraries:
App Engine: `go get google.golang.org/appengine`
GitHub API: `go get github.com/google/go-github/github`
Mailgun: `go get github.com/mailgun/mailgun-go`
(you may need to edit the source to drop the v4 references in the events imports)
- Run:
dev_appserver.py --enable_sendmail=yes app
The server will then be running at http://localhost:8080/, with the hook registered on the /hook
path. Using ngrok you can generate a publicly accessible URL to use in the repository's service hook settings.
You can also test things via the /hook-test-harness
harness, which allows you to see the emails that would be generated via an event payload.
Deploying to App Engine
./deploy.sh