Skip to content

Specify asset types in Releases

Problem to solve

We want to allow users to specify asset types in a Release entry, so that they can categorize runbooks in the Release page.

Intended users

Technical proposal

Add a link_type property to the asset link API response that indicates the type of link (valid values are runbook, image, package and other):

"assets":{

    ...

    "links":[
      {
          "id":2,
          "name":"awesome-v0.2.msi",
          "url":"http://192.168.10.15:3000/msi",
          "external":true,
          "link_type": "runbook"
      },
      {
          "id":1,
          "name":"awesome-v0.2.dmg",
          "url":"http://192.168.10.15:3000",
          "external":true,
          "link_type": "standard"
      }
    ],
},

This property will be hidden behind a feature flag named release_asset_link_type.

User story

As a Release Manager, I want to specify the asset type I am linking to my release, so that can I better inform users of the item's importance.

Acceptance criteria:

  • While creating/editing a release, user should be able to specify the type of links added to a Release.
    • Using GitLab's UI, by selecting an option in the form using a dropdown menu.
  • The attribute is not mandatory.
  • Links types should be displayed as follows:
    • Runbook
    • Package
    • Image
    • Other (selected by default)
  • After successfully creating the release item, the information with the Link type should be displayed in the newly created Release item (view page).

Design proposal

desktop mobile
img img2

release_asset_type

Permissions and Security

Documentation

Yes, we will need to document this feature.

Availability & Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Links / references

Edited by Jackie Porter