@rgeraldporter/probot-serverless-now

2.1.3 • Public • Published

npm version build status

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 page
    • POST /: 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 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.

Package Sidebar

Install

npm i @rgeraldporter/probot-serverless-now

Weekly Downloads

0

Version

2.1.3

License

MIT

Unpacked Size

8.57 kB

Total Files

9

Last publish

Collaborators

  • rgeraldporter