Skip to content

feat(forge): add GitLab support - #3225

Merged
afonsojramos merged 12 commits into
mainfrom
issue-237
Aug 26, 2026
Merged

feat(forge): add GitLab support#3225
afonsojramos merged 12 commits into
mainfrom
issue-237

Conversation

@afonsojramos

Copy link
Copy Markdown
Member

Adds GitLab (Cloud and Self-Managed) as a forge behind the existing ForgeAdapter interface, with no forge-specific branching outside src/renderer/utils/forges/gitlab/. GitLab has no /notifications endpoint, so the adapter is built on the To-Do API — and because a to-do embeds its full target object, enrichNotifications is omitted entirely and one list call carries everything the detailed-notifications setting needs. GitLab also has no read/unread axis (only pending/done), so capabilities.markAsDone reports false and mark-as-read maps onto POST /todos/:id/mark_as_done, keeping the row to a single button.

Worth flagging for review: clearing a to-do needs the broad api scope on legacy tokens (or the Todo resource on GitLab 18+ fine-grained tokens), and To-Do items are narrower than GitHub notifications — both are stated on the login screen. Every API behaviour was verified against live gitlab.com rather than taken from the docs, and the feature was exercised end-to-end in the app: login, render, mark-as-read round-trip, and logout.

Closes #237

@afonsojramos
afonsojramos requested a review from setchy as a code owner August 26, 2026 15:52
@github-actions github-actions Bot added the enhancement New feature or enhancement to existing functionality label Aug 26, 2026
@sonarqubecloud

Copy link
Copy Markdown

@setchy

setchy commented Aug 26, 2026

Copy link
Copy Markdown
Member

Great work @afonsojramos - our forges continue to go from strength to strength.

I don't have a GitLab handy to test on, but lgtm

@afonsojramos
afonsojramos merged commit 6711eb7 into main Aug 26, 2026
19 checks passed
@afonsojramos
afonsojramos deleted the issue-237 branch August 26, 2026 19:05
@github-actions github-actions Bot added this to the Release 7.x.x milestone Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or enhancement to existing functionality

Development

Successfully merging this pull request may close these issues.

New Forge: GitLab support

2 participants