mcpField
G
gitlab-release

gitlab-release

github.com/grandcamelDevelopment493 installsUpdated 41w ago
Repository

About gitlab-release

gitlab-release is a skill for using the `glab` CLI to manage GitLab releases. It covers listing and viewing releases, publishing releases and assets, and downloading or deleting them.

Key features

  1. 01List and view releases
  2. 02Create releases with notes and metadata
  3. 03Upload and download release assets
  4. 04Delete releases, optionally with tags

Use cases

  1. 01Review release history before publishing
  2. 02Publish a version with changelog notes
  3. 03Distribute build files through release assets

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-release

After installing, type/gitlab-releasein Claude Code to confirm it loaded.

Details

From the project README

Release Skill

Release operations for GitLab using the glab CLI.

Quick Reference

OperationCommandRisk
List releasesglab release list-
View releaseglab release view <tag>-
Create releaseglab release create <tag>⚠️
Upload assetsglab release upload <tag> <files>⚠️
Download assetsglab release download <tag>-
Delete releaseglab release delete <tag>⚠️⚠️

Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger

When to Use This Skill

ALWAYS use when:

  • User wants to work with releases
  • User mentions "release", "version", "changelog", "tag" (for releases)
  • User wants to publish or distribute software versions

NEVER use when:

  • User wants to manage git tags directly (use git commands)
  • User wants CI/CD operations (use gitlab-ci instead)

Available Commands

List Releases
glab release list [options]

Options:

FlagDescription
-P, --per-page=<n>Results per page
--allGet all releases

Examples:

# List all releases
glab release list

# List with more results
glab release list --per-page=50
View Release Details
glab release view <tag> [options]

Options:

FlagDescription
-w, --webOpen release in browser

Examples:

# View release details
glab release view v1.0.0

# Open release in browser
glab release view v1.0.0 --web
Create Release
glab release create <tag> [options]

Options:

FlagDescription
-n, --notes=<notes>Release notes
-F, --notes-file=<file>Read release notes from file
-N, --name=<name>Release name (defaults to tag)
-r, --ref=<ref>Git ref to create tag from (if tag doesn't exist)
-a, --assets-links=<json>JSON array of asset links
--milestone=<titles>Milestone titles to associate

Examples:

# Create simple release
glab release create v1.0.0

# Create with release notes
glab release create v1.0.0 -n "## What's New
- Feature A
- Bug fix B"

# Create with notes from file
glab release create v1.0.0 -F CHANGELOG.md

# Create with name and milestone
glab release create v1.0.0 -N "Version 1.0.0" --milestone="Sprint 5"

# Create from specific commit
glab release create v1.0.0 -r abc123def
Upload Assets
glab release upload <tag> <file>... [options]

Upload files as release assets.

Examples:

# Upload single file
glab release upload v1.0.0 ./dist/app.zip

# Upload multiple files
glab release upload v1.0.0 ./dist/*.tar.gz

# Upload with custom name
glab release upload v1.0.0 ./build/app.exe#windows-binary
Download Assets
glab release download <tag> [options]

Options:

FlagDescription
-D, --dir=<dir>Download directory
-n, --asset-name=<name>Download specific asset by name

Examples:

# Download all assets
glab release download v1.0.0

# Download to specific directory
glab release download v1.0.0 -D ./downloads/

# Download specific asset
glab release download v1.0.0 -n "app.zip"
Delete Release
glab release delete <tag> [options]

Options:

FlagDescription
-y, --yesSkip confirmation
--with-tagAlso delete the associated tag

Warning: This permanently deletes the release.

Examples:

# Delete release (prompts for confirmation)
glab release delete v1.0.0

# Delete release and tag
glab release delete v1.0.0 --with-tag

# Delete without confirmation
glab release delete v1.0.0 --yes

Common Workflows

Workflow 1: Standard Release
# 1. Ensure all changes are merged
glab mr list --state=opened

# 2. Verify CI passes
glab ci status --branch=main

# 3. Create release with changelog
glab release create v1.2.0 -F CHANGELOG.md -N "Version 1.2.0"

# 4. Upload binaries
glab release upload v1.2.0 ./dist/*
Workflow 2: Pre-release
# Create pre-release version
glab release create v2.0.0-beta.1 \
  -n "Beta release for testing. Not for production use."
Workflow 3: Hotfix Release
# 1. Create release from hotfix branch
glab release create v1.0.1 -r hotfix/critical-fix \
  -n "Hotfix release:
- Fixed critical security issue"

# 2. Upload patched binaries
glab release upload v1.0.1 ./dist/*

Release Notes Best Practices

Structure your release notes:

## What's New
- Feature descriptions

## Bug Fixes
- Fix descriptions

## Breaking Changes
- Migration notes

## Contributors
- @username

Troubleshooting

IssueCauseSolution
Authentication failedInvalid/expired tokenRun glab auth login
Tag already existsDuplicate releaseUse different tag or delete existing
Release not foundInvalid tagVerify tag with glab release list
Upload failedFile not foundCheck file path exists

Related Documentation

Comments

Markdown supported