Twilio Segment logo

Backstage Twilio Segment Analytics Plugin

Created by Twilio Segment

Installation Instructions

These instructions apply to self-hosted Backstage only.

Install the plugin

Copy
yarn --cwd packages/app add @segment backstage-plugin-analytics-module-segment

Import it into your Backstage application

Copy
// packages/app/src/apis.ts
import {
  analyticsApiRef,
  configApiRef,
  identityApiRef,
} from '@backstage/core-plugin-api';
import { SegmentAnalytics } from '@segment/backstage-plugin-analytics-module-segment';

export const apis: AnyApiFactory[] = [
  // Instantiate and register the SegmentAnalytics API Implementation.
  createApiFactory({
    api: analyticsApiRef,
    deps: { configApi: configApiRef, identityApi: identityApiRef },
    factory: ({ configApi, identityApi }) =>
      SegmentAnalytics.fromConfig(configApi, {
        identityApi,
      }),
  }),
];

Optionally configure user anonymization (by default, this analytics plugin identifies the user taking actions as the logged in Backstage User’s entity reference string)

Copy
// packages/app/src/apis.ts
import {
  analyticsApiRef,
  configApiRef,
  identityApiRef,
} from '@backstage/core-plugin-api';
import { SegmentAnalytics } from '@segment/backstage-plugin-analytics-module-segment';

export const apis: AnyApiFactory[] = [
  // Instantiate and register the SegmentAnalytics API Implementation.
  createApiFactory({
    api: analyticsApiRef,
    deps: { configApi: configApiRef, identityApi: identityApiRef },
    factory: ({ configApi, identityApi }) =>
      SegmentAnalytics.fromConfig(configApi, {
        identityApi,
        userIdTransform: 'sha-256',
      }),
  }),
];

Configure the plugin

Copy
// app-config.yaml
app:
  analytics:
    segment:
      writeKey: abcABCfooBARtestKEY

Things to Know

Set up Backstage in minutes with Roadie