home / skills / openclaw / skills / glab-release

This skill helps you manage GitLab releases with glab by simplifying create, upload, and view workflows for your repositories.

npx playbooks add skill openclaw/skills --skill glab-release

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
1.2 KB
---
name: glab-release
description: Use when working with glab release commands.
---

# glab release

## 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

```bash
glab release --help
```

## Subcommands

See [references/commands.md](references/commands.md) for full `--help` output.

Overview

This skill provides command-line helpers for managing GitLab releases using glab. It exposes common release actions like create, delete, list, view, upload, and download to manage tags and release assets. Use it to automate release workflows and handle release assets from scripts or CI pipelines.

How this skill works

The skill wraps glab release subcommands to perform release operations against a specified GitLab repository. It accepts a tag and optional asset files or flags, and supports selecting alternate repositories via the --repo flag. Commands operate directly on the target GitLab project and can create or update release notes, upload or download assets, list releases, and remove releases.

When to use it

  • Creating or updating a release from CI after a successful build
  • Uploading binary assets or links to a release
  • Downloading release assets for packaging or testing
  • Listing or viewing releases to audit history or automation outputs
  • Deleting a release to clean up tags or correct mistakes

Best practices

  • Always specify the target repository with --repo in scripts to avoid operating on the wrong project
  • Use consistent tag names and release notes to keep history readable
  • Upload assets as part of a controlled pipeline step to ensure reproducibility
  • Test download and upload steps locally before adding to CI to catch permission issues
  • Use delete carefully; consider protecting important tags or using a policy to prevent accidental removals

Example use cases

  • CI pipeline creates a tag, runs tests, then uses glab release create <tag> with generated release notes
  • A release packaging job uploads compiled binaries with glab release upload <tag> path/to/artifacts
  • Retrieve assets for integration tests with glab release download <tag> into a test environment
  • Audit releases in an organization by listing releases across repositories and extracting metadata
  • Remove a mistaken release with glab release delete <tag> after verifying tag state

FAQ

Do I need credentials to run these commands?

Yes. glab requires authentication with GitLab (personal access token or OAuth credentials) to perform release operations on private projects.

Can I upload multiple files at once?

Yes. The upload subcommand accepts multiple file paths; include them after the tag to add several assets in one command.

How do I target a different repository?

Use the --repo flag with OWNER/REPO, GROUP/NAMESPACE/REPO, or a full URL/Git URL to select a different project.