Need private packages and team management tools?Check out npm Teams »

probot-serverless-now

2.1.2 • 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

  • Logging
  • Sentry integration
  • 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.

Install

npm i probot-serverless-now

DownloadsWeekly Downloads

67

Version

2.1.2

License

MIT

Unpacked Size

8.55 kB

Total Files

11

Last publish

Collaborators

  • avatar