Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 52,609
    • Issues 52,609
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,544
    • Merge requests 1,544
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #17838
Closed
Open
Issue created Apr 20, 2017 by Piotr Orzechowski@orzechow

Support file upload for releases from yml when updating a release API

Release notes

If you are currently not using GitLab for releases because files cannot be uploaded to releases, you days just got a lot simpler. We have introduced the ability for you to upload files to a release tag from the API, extending support of Release Assets to include files, rather than just asset links or source code.

Problem to solve

Users are looking for a way to connect outputs from pipelines to then release from the Releases page as an asset link. We have built the Package Registry as a place to store these binaries, and asset links are available to display assets on Releases. We are looking to extend the API so the binaries can be uploaded and stored on the release.

Description

Gitlab has the useful release feature, which allows to upload files to releases / tags [1]. Unfortunately the corresponding API functions do not include file upload [2].

Proposal

From a backend perspective, a good way to do this is via https://gitlab.com/gitlab-org/gitlab-ce/issues/60630

The API functions

  • update-a-release

should have following additional parameters (compare create-new-file-in-repository):

  • file_name (optional) - Name of new file. Ex. release-v0.9.3.tar.gz
  • file_encoding (optional) - Change encoding to 'base64'. Default is text.

We're currently supporting the following two type of assets https://docs.gitlab.com/ee/user/project/releases/#release-assets

  • Source code: state of the repo at the time of the Release
  • Links: to content such as built binaries or documentation

We should support binary-type asset as well. We'll likely use GitLab Package Registry for that purpose.

Links / references

  • [1] https://gitlab.com/help/workflow/releases.md
  • [2] https://docs.gitlab.com/ce/api/tags.html#create-a-new-release

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited Oct 20, 2021 by 🤖 GitLab Bot 🤖
Assignee
Assign to
Time tracking