Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@red-hat-developer-hub/backstage-plugin-bulk-import': patch
---

Fixed routing to handle `/bulk-import` path correctly by adding internal redirect to `/bulk-import/repositories`. The plugin now automatically redirects from the base path to the repositories view, eliminating the need for host applications to configure separate redirect routes. This resolves the 404 error when accessing `/bulk-import` directly in RHDH.
3 changes: 1 addition & 2 deletions workspaces/bulk-import/packages/app/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,7 @@ const routes = (
</Route>
<Route path="/settings" element={<UserSettingsPage />} />
<Route path="/catalog-graph" element={<CatalogGraphPage />} />
<Route path="/bulk-import" element={<Navigate to="repositories" />} />
<Route path="/bulk-import/repositories" element={<BulkImportPage />} />
<Route path="/bulk-import/*" element={<BulkImportPage />} />
</FlatRoutes>
);

Expand Down
13 changes: 4 additions & 9 deletions workspaces/bulk-import/plugins/bulk-import/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,13 @@ g, user:default/<login-id/user-name>, role:default/team_a
import { BulkImportPage } from '@red-hat-developer-hub/backstage-plugin-bulk-import';
...
/* highlight-add-start */
<Route
path="/bulk-import"
element={<Navigate to="repositories" />}
/>
<Route
path="/bulk-import/repositories"
element={<BulkImportPage />}
/>
/* highlight-add-end */
<Route path="/bulk-import/*" element={<BulkImportPage />} />
/* highlight-add-end */
...
```

> **Note:** The plugin automatically redirects `/bulk-import` to `/bulk-import/repositories`. You only need to mount the plugin once at `/bulk-import/*`.

3. Add **Bulk import** Sidebar Item in `packages/app/src/components/Root/Root.tsx`:

```tsx title="packages/app/src/components/Root/Root.tsx"
Expand Down
2 changes: 1 addition & 1 deletion workspaces/bulk-import/plugins/bulk-import/dev/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ createDevApp()
</TestApiProvider>
),
title: 'Bulk import',
path: '/bulk-import/repositories',
path: '/bulk-import',
icon: BulkImportIcon,
})
.render();
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

import { Route, Routes } from 'react-router-dom';
import { Navigate, Route, Routes } from 'react-router-dom';

import { QueryClient, QueryClientProvider } from '@tanstack/react-query';

Expand All @@ -32,7 +32,8 @@ const queryClient = new QueryClient();
export const Router = () => (
<QueryClientProvider client={queryClient}>
<Routes>
<Route path="*" element={<BulkImportPage />} />
<Route path="/" element={<Navigate to="repositories" replace />} />
<Route path="/repositories" element={<BulkImportPage />} />
<Route
path={addRepositoriesRouteRef.path}
element={<AddRepositoriesPage />}
Expand Down