From afaede9418f8934531d3131b58f0be3f6496df97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=B6gel?= Date: Fri, 25 Jul 2025 13:28:38 +0200 Subject: [PATCH 1/4] scaffolder-backend-module-gitlab: Show cause for GitbeakerRequestError MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Kögel --- plugins/scaffolder-backend-module-gitlab/package.json | 1 + .../src/actions/helpers.ts | 7 +++++++ yarn.lock | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/scaffolder-backend-module-gitlab/package.json b/plugins/scaffolder-backend-module-gitlab/package.json index 9d0f037aa2..c195b387b8 100644 --- a/plugins/scaffolder-backend-module-gitlab/package.json +++ b/plugins/scaffolder-backend-module-gitlab/package.json @@ -50,6 +50,7 @@ "@backstage/errors": "workspace:^", "@backstage/integration": "workspace:^", "@backstage/plugin-scaffolder-node": "workspace:^", + "@gitbeaker/requester-utils": "^41.2.0", "@gitbeaker/rest": "^41.2.0", "luxon": "^3.0.0", "winston": "^3.2.1", diff --git a/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts b/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts index 7f6dead3ca..a180c35524 100644 --- a/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts +++ b/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts @@ -17,6 +17,7 @@ import { parseRepoUrl } from '@backstage/plugin-scaffolder-node'; import { ErrorLike, InputError, isError } from '@backstage/errors'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { Gitlab } from '@gitbeaker/rest'; +import { GitbeakerRequestError } from '@gitbeaker/requester-utils'; export function createGitlabApi(options: { integrations: ScmIntegrationRegistry; @@ -57,7 +58,13 @@ function isGitlabError(e: unknown): e is GitlabError { return isError(e) && 'description' in e && typeof e.description === 'string'; } +function isGitbeakerRequestError(e: unknown): e is GitbeakerRequestError { + return isError(e) && (e as any).name === 'GitbeakerRequestError'; +} + export function getErrorMessage(e: unknown): string { + if (isGitbeakerRequestError(e) && e.cause) + return `${e} - ${e.cause.description}`; if (isGitlabError(e)) return `${e} - ${e.description}`; return String(e); } diff --git a/yarn.lock b/yarn.lock index 72dceeed70..8b0633a1cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7240,6 +7240,7 @@ __metadata: "@backstage/integration": "workspace:^" "@backstage/plugin-scaffolder-node": "workspace:^" "@backstage/plugin-scaffolder-node-test-utils": "workspace:^" + "@gitbeaker/requester-utils": "npm:^41.2.0" "@gitbeaker/rest": "npm:^41.2.0" luxon: "npm:^3.0.0" winston: "npm:^3.2.1" @@ -9788,7 +9789,7 @@ __metadata: languageName: node linkType: hard -"@gitbeaker/requester-utils@npm:^41.3.0": +"@gitbeaker/requester-utils@npm:^41.2.0, @gitbeaker/requester-utils@npm:^41.3.0": version: 41.3.0 resolution: "@gitbeaker/requester-utils@npm:41.3.0" dependencies: From 5bb870b87a9c13c5b0499dadb7bb8b95fad0ea08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=B6gel?= Date: Fri, 25 Jul 2025 20:51:02 +0200 Subject: [PATCH 2/4] Add Changeset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Kögel --- .changeset/deep-apples-attack.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/deep-apples-attack.md diff --git a/.changeset/deep-apples-attack.md b/.changeset/deep-apples-attack.md new file mode 100644 index 0000000000..49b5d96e57 --- /dev/null +++ b/.changeset/deep-apples-attack.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-gitlab': patch +--- + +Show additional information about the cause in error messages from GitLab in scaffolder-backend-module-GitLab. From 9f421e4a693d4f750278a11ed2a56dfab8dc560f Mon Sep 17 00:00:00 2001 From: Peter <133140762+PeterKoegel@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:48:35 +0200 Subject: [PATCH 3/4] Update .changeset/deep-apples-attack.md Co-authored-by: Ben Lambert Signed-off-by: Peter <133140762+PeterKoegel@users.noreply.github.com> --- .changeset/deep-apples-attack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/deep-apples-attack.md b/.changeset/deep-apples-attack.md index 49b5d96e57..abf34ad863 100644 --- a/.changeset/deep-apples-attack.md +++ b/.changeset/deep-apples-attack.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend-module-gitlab': patch --- -Show additional information about the cause in error messages from GitLab in scaffolder-backend-module-GitLab. +Show additional information about the cause in error messages from GitLab From c076c377674a31459d72dffb697334d6797adec6 Mon Sep 17 00:00:00 2001 From: Peter <133140762+PeterKoegel@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:49:04 +0200 Subject: [PATCH 4/4] Update plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts Co-authored-by: Ben Lambert Signed-off-by: Peter <133140762+PeterKoegel@users.noreply.github.com> --- plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts b/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts index a180c35524..59f5601747 100644 --- a/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts +++ b/plugins/scaffolder-backend-module-gitlab/src/actions/helpers.ts @@ -59,7 +59,7 @@ function isGitlabError(e: unknown): e is GitlabError { } function isGitbeakerRequestError(e: unknown): e is GitbeakerRequestError { - return isError(e) && (e as any).name === 'GitbeakerRequestError'; + return isError(e) && e.name === 'GitbeakerRequestError'; } export function getErrorMessage(e: unknown): string {