Files
backstage/plugins/signals
Patrik Oldsberg 0654d79865 Merge pull request #22529 from drodil/signals_improvements
fix: signal disconnect loop on server start
2024-02-01 20:49:29 +01:00
..
2024-01-30 13:38:11 +00:00
2024-01-30 13:38:11 +00:00

signals

Welcome to the signals plugin!

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

Getting started

This plugin contains client that can receive messages from the backend. To get started, see installation instructions from @backstage/plugin-signals-node, @backstage/plugin-signals-backend.

To install the plugin, you have to add the following to your packages/app/src/plugins.ts:

export { signalsPlugin } from '@backstage/plugin-signals';

And make sure that your packages/app/src/App.tsx contains:

import * as plugins from './plugins';

const app = createApp({
  // ...
  plugins: Object.values(plugins),
  // ...
});

Now you can utilize the API from other plugins using the @backstage/plugin-signals-react package or simply by:

import { signalsApiRef } from '@backstage/plugin-signals-react';

const signals = useApi(signalsApiRef);
const { unsubscribe } = signals.subscribe(
  'myplugin:topic',
  (message: JsonObject) => {
    console.log(message);
  },
);
// Remember to unsubscribe
unsubscribe();