Skip to content

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

Description

@potiuk

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/ — the issue-body field-schema pattern in 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:toolstools/*capability:setupFramework / agent / substrate infrastructure + authoringenhancementNew feature or requestgood first issueGood for newcomerssource control systemVersion control systems and the forges/services that host them

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions