glab(1)

✨ NAME ✨

hey bestie πŸ’– this is the glab(1) manual page for glab-release-upload β€” upload release asset files or links to a GitLab release. slay, we love a niche but iconic command. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

glab release upload  [...] [flags]

πŸŽ€ DESCRIPTION πŸŽ€

okay so the whole vibe here is uploading release assets to a GitLab release. ✨

you 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'. iykyk, it's giving "filename but make it fashion." πŸ’–


πŸ’… 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"}]'. no cap, that's the whole shape. 🫢
  • --package-name="release-assets" β€” the package name to use when uploading the assets to the generic package release with --use-package-registry. cute and specific, we love that. πŸŽ€
  • --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. πŸ’…
bestie, do not sleep on that precedence: the flag wins over the env var. periodt. πŸ”₯

🌸 OPTIONS INHERITED FROM PARENT COMMANDS 🌸

  • -h, --help[=false] β€” show help for this command. the classic "help me help you" moment. 🫢
  • -R, --repo="" β€” select another repository. you can use either OWNER/REPO or GROUP/NAMESPACE/REPO. the full URL or Git URL is also accepted. flexible queen behavior. πŸ’–

🌈 EXAMPLE 🌈

these examples are literally the blueprint, bestie: πŸŽ€

# 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) β€” go check that one too, bestie. it's the parent-adjacent icon behavior. πŸ‘‘

that's the whole page, bestie! this little icon was auto generated by spf13/cobra, dated Nov 2026 β€” and yeah, it's the glab(1) manual, periodt. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from