MF-2: GitLab adapter for ForgePort #293
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#293
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As a platform engineer, I want a GitLab implementation of
ForgePort(REST v4,gitlab.comor self-hosted) so that GitLab-hosted repos route through the same domain pipeline as Forgejo and GitHub.Acceptance criteria
Adapter surface
apps/server/src/infrastructure/forge/gitlab-adapter.ts.api). Project identifier = URL-encodedowner/name.gitlab.comby default; honour self-hosted via config).Issue / MR / note mapping
ForgeIssue←/projects/{id}/issues/{iid}.ForgePullRequest←/merge_requests/{iid}:baseRef=target_branchheadRef=source_branchheadSha=shaForgeComment←/notes.Dependencies (probe + fallback)
issue_linkswithrelates_to | blocks | is_blocked_bytypes. Free does not.Reviews (approvals mapping)
approval_state→approvedthumbsdownon a discussion →changes_requestedcommentlistReviewsreturns the merged stream in that shape.submitReviewwrites to the matching surface (approval for APPROVED, note + thumbsdown for REQUEST_CHANGES).CI / pipelines
getAggregateStatus/listWorkflowRuns:/projects/{id}/pipelines/{sha}.getJobLogs:/jobs/{jobId}/trace.Repo scope
listAccessibleRepos:/projects?membership=true.Tests
approved,thumbsdown,note.Out of scope
discussionsthreading beyond top-level notes.References
specs/multi-forge.md§ MF-2.apps/server/src/infrastructure/forge/forgejo-port.ts— port surface.Dependencies
just qaby the time this lands.