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
The module
githubfor the Backstage backend plugin "events-backend" adding an event router and signature validator for GitHub.