New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@backstage/plugin-catalog-import

Package Overview
Dependencies
Maintainers
3
Versions
1725
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@backstage/plugin-catalog-import

A Backstage plugin the helps you import entities into your catalog

latest
Source
npmnpm
Version
0.13.11
Version published
Maintainers
3
Created
Source

Catalog Import

The Catalog Import Plugin provides a wizard to onboard projects with existing catalog-info.yaml files. It also assists by creating pull requests in repositories where no catalog-info.yaml exists.

Catalog Import Plugin

Current features:

  • Import catalog-info.yaml files from a URL in a repository of one of the supported Git integrations (example https://github.com/backstage/backstage/catalog-info.yaml).
  • [GitHub only] Search for all catalog-info.yaml files in a Git repository (example: https://github.com/backstage/backstage).
  • [GitHub only] Analyze a repository, generate a Component entity, and create a Pull Request to onboard the repository.

Some features are not yet available for all supported Git providers.

Getting Started

Install the Catalog Import Plugin:

# From your Backstage root directory
yarn --cwd packages/app add @backstage/plugin-catalog-import

Once installed, the plugin is automatically available in your app through the default feature discovery. For more details and alternative installation methods, see installing plugins.

Customizations

Custom layout

A custom layout can be passed to the import page, as it's already supported by the search page. If no custom layout is passed, the default layout is used.

<Route path="/catalog-import" element={<CatalogImportPage />}>
  <Page themeId="home">
    <Header title="Register an existing component" />
    <Content>
      <ContentHeader title="Start tracking your components">
        <SupportButton>
          Start tracking your component in Backstage by adding it to the
          software catalog.
        </SupportButton>
      </ContentHeader>

      <Grid container spacing={2} direction="row-reverse">
        <Grid item xs={12} md={4} lg={6} xl={8}>
          Hello World
        </Grid>

        <Grid item xs={12} md={8} lg={6} xl={4}>
          <ImportStepper />
        </Grid>
      </Grid>
    </Content>
  </Page>
</Route>

Previously it was possible to disable and customize the automatic pull request feature by passing options to <CatalogImportPage> (pullRequest.disable and pullRequest.preparePullRequest). This functionality is moved to the CatalogImportApi which now provides an optional preparePullRequest() function. The function can either be overridden to generate a different content for the pull request, or removed to disable this feature.

Entity filename and branch name

Entity filename (default: catalog-info.yaml) and branch name (default: backstage-integration) used in pull requests can be configured in app-config.yaml as follows:

// app-config.yaml

catalog:
  import:
    entityFilename: anvil.yaml
    pullRequestBranchName: anvil-integration

Entity examples

Following React components accept optional props for providing custom example entity and repository paths:

<StepInitAnalyzeUrl
  ...
  exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
/>
<ImportInfoCard
  exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
  exampleRepositoryUrl="https://github.com/acme-corp/our-awesome-api"
/>

Old Frontend System

If your Backstage app uses the old frontend system, you need to manually wire the plugin into your app as outlined in this section. If you are on the new frontend system, you can skip this.

Add the CatalogImportPage extension to the app:

// packages/app/src/App.tsx

import { CatalogImportPage } from '@backstage/plugin-catalog-import';

<Route path="/catalog-import" element={<CatalogImportPage />} />;

Development

Use yarn start to run a development version of the plugin that can be used to validate each flow with mocked data.

Keywords

backstage

FAQs

Package last updated on 17 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts