Pièces jointes de build
Journaux, rapports et autres fichiers joints à un artefact, avec leur historique.
Opérations de ce groupe, avec leur règle d’accès, leur règle de nouvelle tentative, leurs paramètres et leurs réponses. Chaque requête porte une clé : Authorization: Bearer <clé> (voir « Authentification »).
Opérations
Obtenir les pièces jointes d’un build
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments
Accès: Autorisation sur le dépôt : annotation.read; clés de fichier : read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie la révision actuelle des pièces jointes d’un artefact : jusqu’à 32 entrées, chacune désignant un autre artefact publié du dépôt avec un name, un kind (manifest, sbom, signature, report, file) et une description, ainsi que l’acteur et l’heure de la modification. La révision 0 sans élément signifie que rien n’a jamais été joint. Téléchargez un fichier joint par son artifactId.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | chemin | string (uuid) | oui | — |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
items | tableau de object | oui | jusqu’à 32 éléments |
items[].name | string | oui | 1–240 caractères |
items[].kind | string | oui | une valeur parmi manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | oui | — |
items[].description | string | oui | jusqu’à 512 caractères |
actor | string | oui | peut être null |
createdAt | string (date-time) | oui | peut être null |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Remplacer les pièces jointes d’un build
PUT /api/v1/repositories/{repository}/artifacts/{id}/attachments
Accès: Autorisation sur le dépôt : annotation.write, artifact.read; clés de fichier : read, write · Nouvelle tentative: Répéter uniquement avec la révision attendue (compare-and-swap)
Remplace toute la liste des pièces jointes d’un artefact (jusqu’à 32 entrées ; une liste vide les retire toutes) et renvoie la nouvelle révision. Chaque cible doit être un autre artefact déjà publié dans le même dépôt (téléversez-le d’abord), les noms sont uniques sans tenir compte de la casse et les descriptions comptent jusqu’à 512 caractères. expectedRevision doit être la révision actuelle (0 pour la première liste), sinon 409 revision_mismatch ; les artefacts nommés dans une révision quelconque restent protégés contre la suppression.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | chemin | string (uuid) | oui | — |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
expectedRevision | integer | oui | 0–2147483646 |
items | tableau de object | oui | jusqu’à 32 éléments |
items[].name | string | oui | 1–240 caractères |
items[].kind | string | oui | une valeur parmi manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | oui | — |
items[].description | string | oui | jusqu’à 512 caractères |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
items | tableau de object | oui | jusqu’à 32 éléments |
items[].name | string | oui | 1–240 caractères |
items[].kind | string | oui | une valeur parmi manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | oui | — |
items[].description | string | oui | jusqu’à 512 caractères |
actor | string | oui | peut être null |
createdAt | string (date-time) | oui | peut être null |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":0,"items":[]}'Lister l’historique des pièces jointes d’un build
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments/history
Accès: Autorisation sur le dépôt : annotation.read; clés de fichier : read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie les révisions antérieures et la révision actuelle des pièces jointes d’un artefact, de la plus récente à la plus ancienne, 20 par page, chacune avec ses entrées, l’acteur et l’heure ; poursuivez avec before défini sur next. Les artefacts joints de chaque révision restent téléchargeables, car ils sont protégés contre la suppression.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | chemin | string (uuid) | oui | — |
before | requête | integer | non | 1–2147483647 |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | jusqu’à 20 éléments |
items[].revision | integer | oui | 0–2147483647 |
items[].items | tableau de object | oui | jusqu’à 32 éléments |
items[].items[].name | string | oui | 1–240 caractères |
items[].items[].kind | string | oui | une valeur parmi manifest, sbom, signature, report, file |
items[].items[].artifactId | string (uuid) | oui | — |
items[].items[].description | string | oui | jusqu’à 512 caractères |
items[].actor | string | oui | peut être null |
items[].createdAt | string (date-time) | oui | peut être null |
next | integer | oui | 1–2147483647; peut être null |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments/history" \
-H "Authorization: Bearer $ARKVORY_TOKEN"