From 1fdce50c7adb682e72a6c7e36a312b6efddba399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fankh=C3=A4nel?= <128792991+dfl-aeb@users.noreply.github.com> Date: Thu, 26 Feb 2026 15:11:57 +0100 Subject: [PATCH] fix: regen api report MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: David Fankhänel <128792991+dfl-aeb@users.noreply.github.com> --- .../report.api.md | 10 ++--- .../src/actions/gitlab.test.ts | 40 +++++++++++++++++++ 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/plugins/scaffolder-backend-module-gitlab/report.api.md b/plugins/scaffolder-backend-module-gitlab/report.api.md index 41831a50f8..e33244e00c 100644 --- a/plugins/scaffolder-backend-module-gitlab/report.api.md +++ b/plugins/scaffolder-backend-module-gitlab/report.api.md @@ -47,7 +47,7 @@ export const createGitlabIssueAction: (options: { discussionToResolve?: string | undefined; epicId?: number | undefined; labels?: string | undefined; - issueType?: 'issue' | 'incident' | 'test_case' | 'task' | undefined; + issueType?: 'issue' | 'task' | 'incident' | 'test_case' | undefined; mergeRequestToResolveDiscussionsOf?: number | undefined; milestoneId?: number | undefined; weight?: number | undefined; @@ -132,7 +132,7 @@ export const createGitlabRepoPushAction: (options: { sourcePath?: string | undefined; targetPath?: string | undefined; token?: string | undefined; - commitAction?: 'auto' | 'update' | 'create' | 'delete' | undefined; + commitAction?: 'auto' | 'update' | 'delete' | 'create' | undefined; }, { projectid: string; @@ -189,7 +189,7 @@ export function createPublishGitlabAction(options: { visibility?: 'internal' | 'private' | 'public' | undefined; path?: string | undefined; description?: string | undefined; - merge_method?: 'merge' | 'ff' | 'rebase_merge' | undefined; + merge_method?: 'merge' | 'rebase_merge' | 'ff' | undefined; topics?: string[] | undefined; auto_devops_enabled?: boolean | undefined; only_allow_merge_if_pipeline_succeeds?: boolean | undefined; @@ -251,7 +251,7 @@ export const createPublishGitlabMergeRequestAction: (options: { sourcePath?: string | undefined; targetPath?: string | undefined; token?: string | undefined; - commitAction?: 'auto' | 'update' | 'skip' | 'create' | 'delete' | undefined; + commitAction?: 'auto' | 'update' | 'delete' | 'create' | 'skip' | undefined; projectid?: string | undefined; removeSourceBranch?: boolean | undefined; assignee?: string | undefined; @@ -302,7 +302,7 @@ export const editGitlabIssueAction: (options: { discussionLocked?: boolean | undefined; dueDate?: string | undefined; epicId?: number | undefined; - issueType?: 'issue' | 'incident' | 'test_case' | 'task' | undefined; + issueType?: 'issue' | 'task' | 'incident' | 'test_case' | undefined; labels?: string | undefined; milestoneId?: number | undefined; removeLabels?: string | undefined; diff --git a/plugins/scaffolder-backend-module-gitlab/src/actions/gitlab.test.ts b/plugins/scaffolder-backend-module-gitlab/src/actions/gitlab.test.ts index 9e3e666bdb..b668a2a2cd 100644 --- a/plugins/scaffolder-backend-module-gitlab/src/actions/gitlab.test.ts +++ b/plugins/scaffolder-backend-module-gitlab/src/actions/gitlab.test.ts @@ -900,4 +900,44 @@ describe('publish:gitlab', () => { ); expect(mockGitlabClient.ProjectMembers.add).not.toHaveBeenCalled(); }); + + it('should warn and continue when adding ownerUsername as project member fails', async () => { + mockGitlabClient.Users.showCurrentUser.mockResolvedValue({ id: 12345 }); + mockGitlabClient.Namespaces.show.mockResolvedValue({ + id: 1234, + kind: 'group', + }); + mockGitlabClient.Groups.allProjects.mockResolvedValue([]); + mockGitlabClient.Projects.create.mockResolvedValue({ + id: 123456, + http_url_to_repo: 'http://mockurl.git', + }); + mockGitlabClient.Users.all.mockResolvedValue([{ id: 99999 }]); + mockGitlabClient.ProjectMembers.add.mockRejectedValue( + new Error('Forbidden'), + ); + + const ctx = { + ...mockContext, + input: { + repoUrl: 'gitlab.com?repo=repo&owner=owner', + ownerUsername: 'target-owner', + }, + }; + ctx.logger.warn = jest.fn(); + + await action.handler(ctx); + + expect(mockGitlabClient.ProjectMembers.add).toHaveBeenCalledWith( + 123456, + 50, + { userId: 99999 }, + ); + expect(ctx.logger.warn).toHaveBeenCalledWith( + expect.stringContaining('Failed to add user'), + ); + expect(ctx.logger.warn).toHaveBeenCalledWith( + expect.stringContaining('Forbidden'), + ); + }); });