Files
backstage/plugins/signals-backend
Heikki Hellgren 3b6b645d93 feat: add service factory for signal service
Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
2024-01-02 08:53:00 +02:00
..
2024-01-02 08:53:00 +02:00
2024-01-02 08:53:00 +02:00

signals

Welcome to the signals backend plugin!

Signals plugin allows backend plugins to publish messages to frontend plugins.

Getting started

First install the @backstage/plugin-signals-node plugin to get the SignalService set up.

Next, add Signals router to your backend in packages/backend/src/plugins/signals.ts:

import { Router } from 'express';
import { createRouter } from '@backstage/plugin-signals-backend';
import { PluginEnvironment } from '../types';

export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  return await createRouter({
    logger: env.logger,
    service: env.signalsService,
  });
}

Now add the signals to packages/backend/src/index.ts:

// ...
import signals from './plugins/sonarqube';

async function main() {
  // ...
  const signalsEnv = useHotMemoize(module, () => createEnv('signals'));

  const apiRouter = Router();
  // ...
  apiRouter.use('/signals', await signals(signalsEnv));
  apiRouter.use(notFoundHandler());
  // ...
}