Bulk import frontend plugin for Backstage
This plugin allows bulk import of multiple catalog entities into the catalog.
For administrators
Installation
Installing as a dynamic plugin?
The sections below are relevant for static plugins. If the plugin is expected to be installed as a dynamic one:
Prerequisites
-
Follow the Bulk import backend plugin README to integrate bulk import in your Backstage instance.
-
Follow the GitHub Locations to integrate GitHub integrations in your Backstage instance. For now, the plugin only supports loading catalog entities from github.com or GitHub Enterprise.
NOTE
- When RBAC permission framework is enabled, for non-admin users to access bulk import UI, the role associated with your user should have the following permission policies associated with it. Add the following in your permission policies configuration file:
p, role:default/team_a, bulk.import, use, allow
p, role:default/team_a, catalog-entity.read, read, allow
p, role:default/team_a, catalog-entity.create, create, allow
g, user:default/<login-id/user-name>, role:default/team_a
Procedure
-
Install the Bulk import UI plugin using the following command:
yarn workspace app add @red-hat-developer-hub/backstage-plugin-bulk-import
-
Add Route in packages/app/src/App.tsx
:
import { BulkImportPage } from '@red-hat-developer-hub/backstage-plugin-bulk-import';
...
<Route
path="/bulk-import"
element={<Navigate to="repositories" />}
/>
<Route
path="/bulk-import/repositories"
element={<BulkImportPage />}
/>
...
-
Add Bulk import Sidebar Item in packages/app/src/components/Root/Root.tsx
:
import { BulkImportSidebarItem } from '@red-hat-developer-hub/backstage-plugin-bulk-import';
export const Root = ({ children }: PropsWithChildren<{}>) => (
<SidebarPage>
<Sidebar>
...
/* highlight-add-next-line */
<BulkImportSidebarItem />
...
</SidebarPage>
);