| name | gitlab-release |
| description | GitLab release operations. ALWAYS use this skill when user wants to: (1) list releases, (2) view release details, (3) create new releases, (4) upload assets, (5) delete releases. |
| version | 1.0.0 |
| author | GitLab-Assistant-Skills |
| license | MIT |
| allowed-tools | ["Bash","Read","Glob","Grep"] |
Release Skill
Release operations for GitLab using the glab CLI.
Quick Reference
| Operation | Command | Risk |
|---|
| List releases | glab release list | - |
| View release | glab release view <tag> | - |
| Create release | glab release create <tag> | ⚠️ |
| Upload assets | glab release upload <tag> <files> | ⚠️ |
| Download assets | glab release download <tag> | - |
| Delete release | glab 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:
| Flag | Description |
|---|
-P, --per-page=<n> | Results per page |
--all | Get all releases |
Examples:
glab release list
glab release list --per-page=50
View Release Details
glab release view <tag> [options]
Options:
| Flag | Description |
|---|
-w, --web | Open release in browser |
Examples:
glab release view v1.0.0
glab release view v1.0.0 --web
Create Release
glab release create <tag> [options]
Options:
| Flag | Description |
|---|
-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:
glab release create v1.0.0
glab release create v1.0.0 -n "## What's New
- Feature A
- Bug fix B"
glab release create v1.0.0 -F CHANGELOG.md
glab release create v1.0.0 -N "Version 1.0.0" --milestone="Sprint 5"
glab release create v1.0.0 -r abc123def
Upload Assets
glab release upload <tag> <file>... [options]
Upload files as release assets.
Examples:
glab release upload v1.0.0 ./dist/app.zip
glab release upload v1.0.0 ./dist/*.tar.gz
glab release upload v1.0.0 ./build/app.exe#windows-binary
Download Assets
glab release download <tag> [options]
Options:
| Flag | Description |
|---|
-D, --dir=<dir> | Download directory |
-n, --asset-name=<name> | Download specific asset by name |
Examples:
glab release download v1.0.0
glab release download v1.0.0 -D ./downloads/
glab release download v1.0.0 -n "app.zip"
Delete Release
glab release delete <tag> [options]
Options:
| Flag | Description |
|---|
-y, --yes | Skip confirmation |
--with-tag | Also delete the associated tag |
Warning: This permanently deletes the release.
Examples:
glab release delete v1.0.0
glab release delete v1.0.0 --with-tag
glab release delete v1.0.0 --yes
Common Workflows
Workflow 1: Standard Release
glab mr list --state=opened
glab ci status --branch=main
glab release create v1.2.0 -F CHANGELOG.md -N "Version 1.2.0"
glab release upload v1.2.0 ./dist/*
Workflow 2: Pre-release
glab release create v2.0.0-beta.1 \
-n "Beta release for testing. Not for production use."
Workflow 3: Hotfix Release
glab release create v1.0.1 -r hotfix/critical-fix \
-n "Hotfix release:
- Fixed critical security issue"
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
| Issue | Cause | Solution |
|---|
| Authentication failed | Invalid/expired token | Run glab auth login |
| Tag already exists | Duplicate release | Use different tag or delete existing |
| Release not found | Invalid tag | Verify tag with glab release list |
| Upload failed | File not found | Check file path exists |
Related Documentation