About glab-release
glab-release documents the glab command-line workflow for managing GitLab releases. It covers creating, updating, deleting, viewing, and downloading releases, with JSON output and CI/CD guidance for automation.
Key features
- 01Create and update releases
- 02Delete releases
- 03View and download release assets
- 04Return list and view results as JSON
- 05Use job-token authentication in GitLab CI/CD
Use cases
- 01Automate release creation in GitLab CI/CD
- 02Retrieve release details as JSON for agents
- 03Download assets from a GitLab release
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-releaseAfter installing, type/glab-releasein Claude Code to confirm it loaded.
Bundled filesreferences/commands.md
Details
From the project READMEglab release
Asset transport
Release downloads recognize same-instance Markdown upload asset URLs and fetch them through the authenticated API, including project-ID and namespace/project upload paths. Use the intended host and identity; do not work around an authentication failure by exposing tokens in URLs. Asset uploads can run in parallel, so verify the final release assets instead of depending on upload completion order.
Overview
Manage GitLab releases.
USAGE
glab release <command> [command] [--flags]
COMMANDS
create <tag> [<files>...] [--flags] Create a new GitLab release, or update an existing one.
delete <tag> [--flags] Delete a GitLab release.
download [<tag>] [--flags] Download asset files from a GitLab release.
list [--flags] List releases in a repository.
upload <tag> [<files>...] [--flags] Upload release asset files or links to a GitLab release.
view [<tag>] [--flags] View information about a GitLab release.
FLAGS
-h --help Show help for this command.
-R --repo Select another repository. Can use either `OWNER/REPO` or `GROUP/NAMESPACE/REPO` format. Also accepts full URL or Git URL.
Quick start
glab release --help
Structured output
glab release list and glab release view support --output json / -F json for structured output, which is useful for agent automation.
--notes and --notes-file are optional for glab release create and glab release update.
The tag is optional for glab release view and glab release download; omit it to target the latest release. Pass an explicit tag in release automation when reproducibility matters.
# List releases with JSON output
glab release list --output json
glab release list -F json
# View a release with JSON output
glab release view v1.2.0 --output json
glab release view v1.2.0 -F json
# Create a release without notes
glab release create v1.2.0
# Update a release without notes
glab release update v1.2.0 --name "My Release"
Creating releases in GitLab CI/CD
For a pipeline job, prefer the predefined CI_JOB_TOKEN with glab CI auto-login; see glab-auth for the general mechanism and environment-variable precedence. The Releases API accepts that credential in the JOB-TOKEN header:
GLAB_ENABLE_CI_AUTOLOGIN=true \
glab release create "$CI_COMMIT_TAG" \
--notes-file CHANGELOG.md \
--ref "$CI_COMMIT_SHA"
Do not assign CI_JOB_TOKEN to GITLAB_TOKEN: glab sends GITLAB_TOKEN as PRIVATE-TOKEN, which the Releases API rejects for a job token and can surface as 404 Not Found. When job-token access is insufficient, use an approved project or group access token with api scope through GITLAB_TOKEN; never print that token.
Subcommands
See references/commands.md for full --help output.