---
name: "glab-release-upload"
section: "1"
platform: "linux"
package: "glab"
version: "1.126.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/glab-release-upload"
---

# glab-release-upload(1)

Upload release asset files or links to a GitLab release.

## NAME

glab-release-upload - Upload release asset files or links to a GitLab release.

## SYNOPSIS

**glab release upload  \[...\] \[flags\]**

## DESCRIPTION

Upload release assets to a GitLab release.

Define the display name by appending '#' after the filename. The link type comes after the display name, like this: 'myfile.tar.gz#My display name#package'

## OPTIONS

**-a**, **--assets-links**=""\
 	**JSON** string representation of assets links, like: **--assets-links='\[{"name": "Asset1", "url":"https://\<domain\>/some/location/1", "link\_type": "other", "direct\_asset\_path": "path/to/file"}\]'**.

**--package-name**="release-assets"\
 	The package name to use when uploading the assets to the generic package release with --use-package-registry.

**--use-package-registry**\[=false\]\
 	Upload release assets to the generic package registry of the project. Alternatively to this flag you may also set the GITLAB\_RELEASE\_ASSETS\_USE\_PACKAGE\_REGISTRY environment variable to either the value true or 1. The flag takes precedence over this environment variable.

## OPTIONS INHERITED FROM PARENT COMMANDS

**-h**, **--help**\[=false\]\
 	Show help for this command.

**-R**, **--repo**=""\
 	Select another repository. You can use either OWNER/REPO or GROUP/NAMESPACE/REPO. The full URL or Git URL is also accepted.

## EXAMPLE

```
# Upload a release asset with a display name. 'Type' defaults to 'other'.
glab release upload v1.0.1 '/path/to/asset.zip#My display label'
# Upload a release asset with a display name and type.
glab release upload v1.0.1 '/path/to/asset.png#My display label#image'
# Upload all assets in a specified folder. 'Type' defaults to 'other'.
glab release upload v1.0.1 ./dist/*
# Upload all tarballs in a specified folder. 'Type' defaults to 'other'.
glab release upload v1.0.1 ./dist/*.tar.gz
# Upload release assets links specified as JSON string
glab release upload v1.0.1 --assets-links='
[
  {
    "name": "Asset1",
    "url":"https://<domain>/some/location/1",
    "link_type": "other",
    "direct_asset_path": "path/to/file"
  }
]'
```

## SEE ALSO

**[glab-release(1)](/glab-release/1.md)**
