Skip to content

Releases API, case where "Permanent links to Release assets" is not applied

The feature described here, explains that a fixed format will be used for links that are created with the "file_path" property.

However I encounter a case where links are not turned permanent.

During the CI triggered by a new tag, 4 artifacts are generated. These artifacts are then used as assets for a new release using the API. The relevant JSON properties are created here.

The answer received for the release creation shows that the assets "urls" and "direct_asset_url" are identical:

  "links":[
         {
            "id":29334,
            "name":"dexed.3.8.1.linux64.zip",
            "url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed.3.8.1.linux64.zip",
            "direct_asset_url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed.3.8.1.linux64.zip",
            "external":false
         
},
         {
            "id":29333,
            "name":"dexed.3.8.1.linux64.setup.zip",
            "url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed.3.8.1.linux64.setup.zip",
            "direct_asset_url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed.3.8.1.linux64.setup.zip",
            "external":false
         
},
         {
            "id":29332,
            "name":"dexed-3.8.1.amd64.deb",
            "url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed-3.8.1.amd64.deb",
            "direct_asset_url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed-3.8.1.amd64.deb",
            "external":false
         
},
         {
            "id":29331,
            "name":"dexed-3.8.1-0.x86_64.rpm",
            "url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed-3.8.1-0.x86_64.rpm",
            "direct_asset_url":"https://gitlab.com/basile.b/dexed/-/jobs/475692239/artifacts/raw/setup/output/dexed-3.8.1-0.x86_64.rpm",
            "external":false
         
}
      
]

but according to the documentation, the url should always start with

https://gitlab.com/basile.b/dexed/releases/v3.8.1/downloads/binaries/
    host^ namespace^                release^        filepath^

as the format is

https://host/namespace/project/releases/:release/downloads/:filepath