Backstage
    Preparing search index...

    Module @backstage/plugin-events-backend-module-github

    The module github for the Backstage backend plugin "events-backend" adding an event router and signature validator for GitHub.

    events-backend-module-github

    Welcome to the events-backend-module-github backend module!

    This package is a module for the events-backend backend plugin and extends the event system with an GithubEventRouter.

    The event router will subscribe to the topic github and route the events to more concrete topics based on the value of the provided x-github-event metadata field.

    Examples:

    x-github-event topic
    pull_request github.pull_request
    push github.push
    repository github.repository

    Please find all possible webhook event types at the official documentation.

    # From your Backstage root directory
    yarn --cwd packages/backend add @backstage/plugin-events-backend-module-github
    // packages/backend/src/index.ts
    backend.add(import('@backstage/plugin-events-backend-module-github'));
    // packages/backend/src/plugins/events.ts
    const eventRouter = new GithubEventRouter({ events: env.events });
    await eventRouter.subscribe();

    Add the signature validator for the topic github:

    // packages/backend/src/plugins/events.ts
    + import { createGithubSignatureValidator } from '@backstage/plugin-events-backend-module-github';
    // [...]
    const http = HttpPostIngressEventPublisher.fromConfig({
    config: env.config,
    events: env.events,
    ingresses: {
    + github: {
    + validator: createGithubSignatureValidator(env.config),
    + },
    },
    logger: env.logger,
    });
    events:
    modules:
    github:
    webhookSecret: your-secret-token

    Configuration at GitHub: https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks

    Classes

    GithubEventRouter

    Variables

    index