apache / apache/magpie

feat(tools/gitlab): add tracker + forge bridge for GitLab-hosted projects

Open
#305 0 comments 0 reactions 0 assignees View on GitHub
capability:platform enhancement family:tools good first issue source control system
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.