Back to Gitlabhq

API Liens de release

doc-locale/fr-fr/api/releases/links.md

19.1.07.6 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

{{< history >}}

{{< /history >}}

Utilisez cette API pour interagir avec les liens vers les releases.

GitLab prend en charge les liens d'assets avec les protocoles suivants :

  • http
  • https
  • ftp

[!note] Pour interagir directement avec les releases de projet, consultez l'API de release de projet.

Liste tous les assets sous forme de liens depuis une release.

plaintext
GET /projects/:id/releases/:tag_name/assets/links
AttributTypeObligatoireDescription
identier ou chaîneouiL'ID ou le chemin encodé en URL du projet.
tag_namestringouiLe tag associé à la release.

Exemple de requête :

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links"

Exemple de réponse :

json
[
   {
      "id":2,
      "name":"awesome-v0.2.msi",
      "url":"http://192.168.10.15:3000/msi",
      "link_type":"other"
   },
   {
      "id":1,
      "name":"awesome-v0.2.dmg",
      "url":"http://192.168.10.15:3000",
      "link_type":"other"
   }
]

Récupère un asset spécifié sous forme de lien depuis une release.

plaintext
GET /projects/:id/releases/:tag_name/assets/links/:link_id
AttributTypeObligatoireDescription
identier ou chaîneouiL'ID ou le chemin encodé en URL du projet.
tag_namestringouiLe tag associé à la release.
link_identierouiL'ID du lien.

Exemple de requête :

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"

Exemple de réponse :

json
{
   "id":1,
   "name":"awesome-v0.2.dmg",
   "url":"http://192.168.10.15:3000",
   "link_type":"other"
}

Crée un lien d'asset pour une release spécifiée.

plaintext
POST /projects/:id/releases/:tag_name/assets/links
AttributTypeObligatoireDescription
identier ou chaîneouiL'ID ou le chemin encodé en URL du projet.
tag_namestringouiLe tag associé à la release.
namestringouiLe nom du lien. Les noms de lien doivent être uniques dans la release.
urlstringouiL'URL du lien. Les URL de lien doivent être uniques dans la release.
direct_asset_pathstringnonChemin optionnel pour un lien d'asset direct.
link_typestringnonLe type du lien : other, runbook, image, package. La valeur par défaut est other.

Exemple de requête :

shell
curl --request POST \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --data name="hellodarwin-amd64" \
    --data url="https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64" \
    --data direct_asset_path="/bin/hellodarwin-amd64" \
    "https://gitlab.example.com/api/v4/projects/20/releases/v1.7.0/assets/links"

Exemple de réponse :

json
{
   "id":2,
   "name":"hellodarwin-amd64",
   "url":"https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64",
   "direct_asset_url":"https://gitlab.example.com/mynamespace/hello/-/releases/v1.7.0/downloads/bin/hellodarwin-amd64",
   "link_type":"other"
}

Met à jour un lien d'asset spécifié pour une release.

plaintext
PUT /projects/:id/releases/:tag_name/assets/links/:link_id
AttributTypeObligatoireDescription
identier ou chaîneouiL'ID ou le chemin encodé en URL du projet.
tag_namestringouiLe tag associé à la release.
link_identierouiL'ID du lien.
namestringnonLe nom du lien.
urlstringnonL'URL du lien.
direct_asset_pathstringnonChemin optionnel pour un lien d'asset direct.
link_typestringnonLe type du lien : other, runbook, image, package. La valeur par défaut est other.

[!note] Vous devez spécifier au moins l'un des champs name ou url

Exemple de requête :

shell
curl --request PUT --data name="new name" --data link_type="runbook" \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"

Exemple de réponse :

json
{
   "id":1,
   "name":"new name",
   "url":"http://192.168.10.15:3000",
   "link_type":"runbook"
}

Supprime un lien d'asset spécifié depuis une release.

plaintext
DELETE /projects/:id/releases/:tag_name/assets/links/:link_id
AttributTypeObligatoireDescription
identier ou chaîneouiL'ID ou le chemin encodé en URL du projet.
tag_namestringouiLe tag associé à la release.
link_identierouiL'ID du lien.

Exemple de requête :

shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"

Exemple de réponse :

json
{
   "id":1,
   "name":"new name",
   "url":"http://192.168.10.15:3000",
   "link_type":"other"
}