Skip to main content

Agent-friendly CLI for the GitLab API

Project description

CI PyPI

qodev-gitlab-cli

Agent-friendly CLI for the GitLab API. Designed for both human and AI-agent workflows, with structured JSON output, consistent flags, and predictable error codes.

Why this CLI?

  • Agent-friendly--json on every command, consistent flags, predictable exit codes
  • Built for AI agent workflows — works seamlessly with Claude Code, scripts, and automation pipelines
  • How it compares: glab is GitLab's official interactive CLI for humans; qodev-gitlab is optimized for programmatic and agent use

Installation

pip install qodev-gitlab-cli

Or run directly without installing:

uvx qodev-gitlab-cli

Quick Start

# Set your GitLab token
export GITLAB_TOKEN="glpat-xxxxxxxxxxxxxxxxxxxx"
# Install AI agent skill files (for Claude Code, etc.)
$ qodev-gitlab-cli install --skills

# List open merge requests
$ qodev-gitlab-cli mrs list
!42  Add authentication  opened  feature/auth  main

# Get MR details as JSON (for scripts/agents)
$ qodev-gitlab-cli mrs get 42 --json
{"iid": 42, "title": "Add authentication", "state": "opened", ...}

# List pipelines
$ qodev-gitlab-cli pipelines list
12345  running  main  2m ago

# Get details of a specific issue
$ qodev-gitlab-cli issues get 42

# Create a merge request from the current branch
$ qodev-gitlab-cli mrs create --title "Add new feature"

Commands

Group Subcommand Description
projects list List projects (--owned for owned only)
get Get project details
mrs list List merge requests (--state)
get Get merge request details
create Create a merge request (--title, --source, --target, --description, --labels, --squash)
update Update a merge request (--title, --description, --labels, --target)
merge Merge a merge request (--squash, --when-pipeline-succeeds)
close Close a merge request
discussions List discussions on a merge request
changes Show diff for a merge request
commits List commits in a merge request
approvals Show approval status
comment Comment on a merge request (--body)
pipelines List pipelines for a merge request
pipelines list List pipelines (--ref, --limit)
get Get pipeline details
jobs List jobs for a pipeline
wait Wait for a pipeline to complete (--timeout, --interval)
jobs get Get job details
log Get job log output
retry Retry a failed job
issues list List issues (--state, --labels, --milestone)
get Get issue details
create Create an issue (--title, --description, --labels)
update Update an issue (--title, --description, --labels)
close Close an issue
comment Comment on an issue (--body)
notes List comments/notes on an issue
releases list List releases
get Get release details by tag
create Create a release (--tag, --name, --description, --ref)
variables list List CI/CD variables (values hidden)
get Get a CI/CD variable
set Set (create or update) a CI/CD variable (--protected, --masked)
install --skills Install AI agent skill files to .claude/skills/qodev-gitlab/

Configuration

Authentication

Set the GITLAB_TOKEN environment variable, or pass --token on each invocation:

export GITLAB_TOKEN="glpat-xxxxxxxxxxxxxxxxxxxx"

GitLab Instance

By default the CLI targets https://gitlab.com. Override with the GITLAB_URL environment variable or the --url flag:

export GITLAB_URL="https://gitlab.example.com"

Global Options

Flag Description Default
--json Output as JSON (for scripting / agents) false
--project, -p Project ID or path auto-detected from git remote
--limit Results per page 25
--page Page number 1
--token GitLab token (overrides GITLAB_TOKEN)
--url GitLab URL (overrides GITLAB_URL)

Exit Codes

Code Meaning
0 Success
80 Authentication error
81 Not found
82 API error
83 Validation error
84 Configuration error

License

MIT -- see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qodev_gitlab_cli-0.3.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qodev_gitlab_cli-0.3.0-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file qodev_gitlab_cli-0.3.0.tar.gz.

File metadata

  • Download URL: qodev_gitlab_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qodev_gitlab_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e00fb573f46b1435a7d61f30d5a61bc5026d44a162ab4237c9f7e59ddc8957af
MD5 dcf4259260004ddf6d4b124ab9a3a96f
BLAKE2b-256 1372e4c40548d6d305be49c82a81312ee767893fb3b40b068eb3ff5e36870af1

See more details on using hashes here.

Provenance

The following attestation bundles were made for qodev_gitlab_cli-0.3.0.tar.gz:

Publisher: publish.yml on qodevai/gitlab-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qodev_gitlab_cli-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qodev_gitlab_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e16ce4cf387fc426956d13c685f7214c2fe79529d13dbfbdc93fa67b0673f01
MD5 43b42933949bebaa984202496e120e16
BLAKE2b-256 bf02ac59c7fac5aef505d2e4abe617a35ba995126c91da839a480ec86c7041cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for qodev_gitlab_cli-0.3.0-py3-none-any.whl:

Publisher: publish.yml on qodevai/gitlab-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page