diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts index 1174276672..dc8e3eb0ee 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts @@ -396,7 +396,9 @@ describe('publish:gitlab', () => { it('should show proper error message when token has insufficient permissions or namespace not found', async () => { mockGitlabClient.Namespaces.show.mockRejectedValue({ - message: '404 Namespace Not Found', + response: { + statusCode: 404, + }, }); const owner = 'infrastructure/devex'; const repoName = 'backstage'; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts index 2b782f2d75..a7da0555e2 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts @@ -183,9 +183,11 @@ export function createPublishGitlabAction(options: { targetNamespaceId = namespaceResponse.id; } catch (e) { - throw new InputError( - `The namespace ${owner} is not found or the user doesn't have permissions to access it`, - ); + if (e.response && e.response.statusCode === 404) { + throw new InputError( + `The namespace ${owner} is not found or the user doesn't have permissions to access it`, + ); + } } const { id: userId } = (await client.Users.current()) as {