feat(tools/gitlab): add tracker + forge bridge for GitLab-hosted projects
- Dominant language
- Python
- Stars
- 92
- Forks
- 92
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 104
Description
Add `tools/gitlab/` as a forge + tracker bridge analogous to `tools/github/`. GitLab is the dominant non-GitHub forge in our adopter universe.
**Capabilities to provide** (mirror the GitHub bridge):
- **Issue** read/write: `issue view/list`, `issue create/edit/close`, `issue comment`
- **MR** read/write: `mr view/list`, `mr create/edit/merge`, `mr comment`, `mr review`
- **Project metadata**: labels, milestones, members
- **Project boards** (boards / iterations) read/write
- **CI**: pipelines read for status checks
- **Security advisories**: GitLab has its own advisory database — useful for the security-* skill family
**Why:** GitLab hosts **Python core** infra and several PEP-related repos (`gitlab.com/python-org`), **GNOME** (gitlab.gnome.org — all of GNOME), **Debian Salsa** (salsa.debian.org — all of Debian packaging), **KDE** (invent.kde.org), **Freedesktop** (gitlab.freedesktop.org — Mesa, X.org, Wayland, NetworkManager, PipeWire), **Inkscape**, **GIMP**, **Xfce**, **Buildroot**, the **Linux Foundation Energy** projects, and the entire self-hosted-enterprise forge market. A project-agnostic framework that can't speak GitLab forecloses a substantial slice of OSS.
**Reference:**
- GitLab REST API: https://docs.gitlab.com/api/api_resources/
- Existing GitHub bridge to mirror: [`tools/github/`](../tree/main/tools/github/) — the issue-body field-schema pattern in [`issue-template.md`](../tree/main/tools/github/issue-template.md) is the convention to follow for GitLab issue templates
- The `python-gitlab` library is a clean reference impl
- For project-board parity, GitLab's "Boards" + "Iterations" are the analogue of GitHub Projects
Contributor guide
Assessment
This issue has not been assessed yet.