Backstage
    Preparing search index...

    Module @backstage/plugin-events-node

    @backstage/plugin-events-node

    This package defined basic types for event-based interactions inside of Backstage.

    Additionally, it provides the core event service eventsServiceRef of type EventsService with its default implementation that uses the DefaultEventsService implementation.

    DefaultEventsService is a simple in-memory implementation that requires the co-deployment of producers and consumers of events.

    Add @backstage/plugin-events-node as dependency to your plugin or plugin module package to which you want to add event support.

    Use eventsServiceRef as a dependency at your plugin or plugin module.

    Create an EventsService instance and add it to the environment.

    // packages/backend/src/plugins/events.ts
    import { DefaultEventsService } from '@backstage/plugin-events-node';

    // ...

    function makeCreateEnv(config: Config) {
    // ...
    const eventsService = DefaultEventsService.create({ logger: root, config });
    // ...
    return (plugin: string): PluginEnvironment => {
    // ...
    return {
    // ...
    events: eventsService,
    // ...
    };
    };
    }

    Use the events from the PluginEnvironment as desired:

    // packages/backend/src/plugins/events.ts
    export default async function createPlugin(
    env: PluginEnvironment,
    ): Promise<Router> {
    // ...
    env.events; // ...
    // ...
    }

    Create your custom service factory implementation:

    import { eventsServiceRef } from '@backstage/plugin-events-node';
    // ...
    export const customEventsServiceFactory = createServiceFactory({
    service: eventsServiceRef,
    deps: {
    // add needed dependencies here
    },
    async factory({ logger }) {
    // add your custom logic here
    return customEventsService;
    },
    });

    and your custom implementation:

    // packages/backend/src/index.ts
    + backend.add(customEventsServiceFactory);

    Modules

    index
    plugins/events-node/src/alpha