Probot Wrapper to run GitHub Apps as Serverless Functions in ZEIT Now
npm install probot-serverless-now 
probot-serverless-now is a wrapper around Probot to run your GitHub Apps as Serverless Functions with ZEIT Now.
- app.js
``javascript`
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
`javascript
const { toLambda } = require("probot-serverless-now");
const applicationFunction = require("../app");
module.exports = toLambda(applicationFunction);
`
- now.json
`json`
{
"version": 2,
"env": {
"APP_ID": "@my-app-id",
"PRIVATE_KEY": "@my-app-base64-encoded-private-key",
"WEBHOOK_SECRET": "@my-app-webhook-secret"
}
}
- [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).GET /
- [ ] Custom routing. The only routes are:
- : typical Probot landing pagePOST /
- : webhook handlernow.json
- [ ] Multiple applications running under the same Probot instance.
Instead, you should create multiple Now Lambdas.
Each lambda should have its own file since they won't share the same APP_ID, PRIVATE_KEY, and WEBHOOK_SECRET` environment variables.
To do that, you could either use multiple repositories or a mono-repo with Yarn workspaces or Lerna for instance.