scaffolder-backend-module-gitlab: Show cause for GitbeakerRequestError

Signed-off-by: Peter Kögel <peter.koegel@vector.com>
This commit is contained in:
Peter Kögel
2025-07-25 13:28:38 +02:00
parent 10ba8c2f92
commit afaede9418
3 changed files with 10 additions and 1 deletions
@@ -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",
@@ -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);
}
+2 -1
View File
@@ -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: