Skip to main content

Agent-friendly CLI for the GitLab API

Reason this release was yanked:

Broken release, use 0.2.2+

Project description

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.

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"

# List open merge requests for a project
qodev-gitlab mrs list --project mygroup/myproject

# Get details of a specific issue
qodev-gitlab issues get 42 --project mygroup/myproject

# List pipelines, output as JSON for scripting
qodev-gitlab pipelines list --project mygroup/myproject --json

# Create a merge request from the current branch
qodev-gitlab mrs create --title "Add new feature" --project mygroup/myproject

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)

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.2.0.tar.gz (16.0 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.2.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qodev_gitlab_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 16.0 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.2.0.tar.gz
Algorithm Hash digest
SHA256 f13eee0482aae5f574b9749896d063cc4d4371572e30a87a4087b335088a38e4
MD5 aaf2ca8b5f112e4ba01d9a2258c45cd9
BLAKE2b-256 712b8ecf161c6adb4c629b0bba3d3ccf3d8899890cc8c2b79b0c308109838f5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for qodev_gitlab_cli-0.2.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.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qodev_gitlab_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa4bd1a296318c4ad8010854a124793b9abafddca234874a867ae0f55a738ff9
MD5 5fb3ae06a3ec3eff27bfb4b1c5c98bc6
BLAKE2b-256 3e0250ac10a17b79b3ecdf1bc4fd2fd2e7d3861fa32d8a4663e31546f0d54ee6

See more details on using hashes here.

Provenance

The following attestation bundles were made for qodev_gitlab_cli-0.2.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