probot-serverless-now
v2.1.2
Published
Probot Wrapper to run GitHub Apps as Serverless Functions in ZEIT Now
Downloads
42
Maintainers
Readme
Goal
probot-serverless-now
is a wrapper around Probot to run your GitHub Apps as Serverless Functions with ZEIT Now.
Usage
app.js
module.exports = app => { app.on("issues.opened", async context => { // A new issue was opened, what should we do with it? context.log(context.payload); }); };
api/index.js
const { toLambda } = require("probot-serverless-now"); const applicationFunction = require("../app"); module.exports = toLambda(applicationFunction);
now.json
{ "version": 2, "env": { "APP_ID": "@my-app-id", "PRIVATE_KEY": "@my-app-base64-encoded-private-key", "WEBHOOK_SECRET": "@my-app-webhook-secret" } }
Supported Probot Features
- [x] Logging
- [x] Sentry integration
- [x] Webhook signature verification
- [ ] Loading the private key from the filesystem.
The
PRIVATE_KEY
environment variable should be used instead (possibly base64 encoded). - [ ] Custom routing. The only routes are:
GET /
: typical Probot landing pagePOST /
: webhook handler
- [ ] Multiple applications running under the same Probot instance.
Instead, you should create multiple Now Lambdas.
Each lambda should have its own
now.json
file since they won't share the sameAPP_ID
,PRIVATE_KEY
, andWEBHOOK_SECRET
environment variables. To do that, you could either use multiple repositories or a mono-repo with Yarn workspaces or Lerna for instance.