Back to Gitlabhq

API des téléversements Markdown

doc-locale/fr-fr/api/project_markdown_uploads.md

19.3.07.8 KB
Original Source

{{< details >}}

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

{{< /details >}}

Utilisez cette API pour gérer les téléversements Markdown pouvant être référencés dans du texte Markdown dans des tickets, des merge requests, des extraits de code ou des pages wiki.

Créer un téléversement {#create-an-upload}

{{< history >}}

  • Généralement disponible dans GitLab 15.10. L'indicateur de fonctionnalité enforce_max_attachment_size_upload_api a été supprimé.
  • Le modèle d'attribut de réponse full_path a été modifié dans GitLab 17.1.
  • L'attribut id a été introduit dans GitLab 17.3.

{{< /history >}}

Téléverse un fichier vers le projet spécifié pour l'utiliser dans un ticket ou la description d'une merge request, ou dans un commentaire.

plaintext
POST /projects/:id/uploads

Attributs pris en charge :

AttributTypeObligatoireDescription
filestringOuiFichier à téléverser.
identier ou chaîneOuiID ou chemin encodé en URL du projet.

Pour télécharger un fichier depuis votre système de fichiers, utilisez l'argument --form. Cela oblige cURL à envoyer des données en utilisant l'en-tête Content-Type: multipart/form-data. Le paramètre file= doit pointer vers un fichier sur votre système de fichiers et être précédé de @.

Exemple de requête :

shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
     --form "[email protected]" "https://gitlab.example.com/api/v4/projects/5/uploads"

Exemple de réponse :

json
{
  "id": 5,
  "alt": "dk",
  "url": "/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
  "full_path": "/-/project/1234/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
  "markdown": "![dk](/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png)"
}

Dans la réponse, le/la :

  • full_path est le chemin absolu vers le fichier.
  • url peut être utilisé dans les contextes Markdown. Le lien est développé lorsque le format dans markdown est utilisé.

Lister les téléversements {#list-uploads}

{{< history >}}

{{< /history >}}

Liste tous les téléversements d'un projet triés par created_at dans l'ordre décroissant.

Prérequis :

  • le rôle Maintainer ou Owner.
plaintext
GET /projects/:id/uploads

Attributs pris en charge :

AttributTypeObligatoireDescription
identier ou chaîneOuiID ou chemin encodé en URL du projet.

Exemple de requête :

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads"

Exemple de réponse :

json
[
  {
    "id": 1,
    "size": 1024,
    "filename": "image.png",
    "created_at":"2024-06-20T15:53:03.067Z",
    "uploaded_by": {
      "id": 18,
      "name" : "Alexandra Bashirian",
      "username" : "eileen.lowe"
    }
  },
  {
    "id": 2,
    "size": 512,
    "filename": "other-image.png",
    "created_at":"2024-06-19T15:53:03.067Z",
    "uploaded_by": null
  }
]

Télécharger un fichier téléversé par ID {#download-an-uploaded-file-by-id}

{{< history >}}

{{< /history >}}

Télécharge un fichier téléversé par ID.

Prérequis :

  • le rôle Maintainer ou Owner.
plaintext
GET /projects/:id/uploads/:upload_id

Attributs pris en charge :

AttributTypeObligatoireDescription
identier ou chaîneOuiID ou chemin encodé en URL du projet.
upload_identierOuiID du téléversement.

En cas de succès, renvoie 200 et le fichier téléversé dans le corps de la réponse.

Exemple de requête :

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/1"

Télécharger un fichier téléversé par secret et nom de fichier {#download-an-uploaded-file-by-secret-and-filename}

{{< history >}}

{{< /history >}}

Télécharge un fichier téléversé par secret et nom de fichier.

Prérequis :

  • le rôle Planificateur, Guest, Reporter, Developer, Maintainer ou Owner.
plaintext
GET /projects/:id/uploads/:secret/:filename

Attributs pris en charge :

AttributTypeObligatoireDescription
identier ou chaîneOuiID ou chemin encodé en URL du projet.
secretstringOuiSecret de 32 caractères du téléversement.
filenamestringOuiNom du fichier téléversé.

En cas de succès, renvoie 200 et le fichier téléversé dans le corps de la réponse.

Exemple de requête :

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"

Supprimer un fichier téléversé par ID {#delete-an-uploaded-file-by-id}

{{< history >}}

{{< /history >}}

Supprime un fichier téléversé par ID.

Prérequis :

  • le rôle Maintainer ou Owner.
plaintext
DELETE /projects/:id/uploads/:upload_id

Attributs pris en charge :

AttributTypeObligatoireDescription
identier ou chaîneOuiID ou chemin encodé en URL du projet.
upload_identierOuiID du téléversement.

En cas de succès, renvoie le code de statut 204 sans corps de réponse.

Exemple de requête :

shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/1"

Supprimer un fichier téléversé par secret et nom de fichier {#delete-an-uploaded-file-by-secret-and-filename}

{{< history >}}

{{< /history >}}

Supprime un fichier téléversé par secret et nom de fichier.

Prérequis :

  • le rôle Maintainer ou Owner.
plaintext
DELETE /projects/:id/uploads/:secret/:filename

Attributs pris en charge :

AttributTypeObligatoireDescription
identier ou chaîneOuiID ou chemin encodé en URL du projet.
secretstringOuiSecret de 32 caractères du téléversement.
filenamestringOuiNom du fichier téléversé.

En cas de succès, renvoie le code de statut 204 sans corps de réponse.

Exemple de requête :

shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"