Batch --scan support for GitLab (GitLabIssueClient.listIssues + per-platform scan wiring) #246
Loading…
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?
Summary
Complete batch
--scan(label-based issue discovery) support for GitLab repos.GitLab support already exists on
main(issue fetch, MR creation, comment write-back, auto-merge polling, origin detection incl. subgroups,GITLAB_TOKEN/GITLAB_BASE_URLconfig). The gap:GitLabIssueClientdoes not implementIssueListClient, and the--scanpath inrunCli.tshard-rejects every non-Forgejo platform ("Scan mode (--scan) is not supported on ... repos").Scope
listIssuesonGitLabIssueClient+ per-platform scan wiring inrunCli.tsKey decisions (docs-verified, GitLab v19.3)
number. GitLab'slabelsparam is AND-only ("issues must have all labels");or_labelsdoes not exist.typefilter: fail-fast on'pr'/'all'(GitLab's issues endpoint cannot return MRs — separatemerge_requestsendpoint).per_page=30,MAX_PAGES=100) because "for GitLab.com users, some pagination headers may not be returned".open→opened,closed→closed,all→all; priority extraction mirrors Forgejo (priority/<level>,critical > high > medium > low).Files
src/gitlab/types/rawIssueList.ts— newRawGitLabIssueListItemtypesrc/gitlab/index.ts— export the new typesrc/gitlab/services/gitLabIssueClient.ts— implementIssueListClient(listIssues,buildListUrl,normalizeCandidate,extractPriority,requireRepoForList)src/cli/services/runCli.ts— per-platform guard + list-client construction (gitlab →GitLabIssueClient(requireGitLabCreds(...)))AGENTS.md—--scanflag rowValidation
npm run lint+npm testgreenFull step-by-step plan with code sketches and test matrix:
docs/implementation-plan-gitlab-scan.md.pi-loop opened and merged a pull request for this issue: #295