Aller au contenu

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

NomEmplacementTypeObligatoireRègles
repositorycheminstringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$
idcheminstring (uuid)oui—

Réponse 200

ChampTypeObligatoireRègles
revisionintegeroui0–2147483647
itemstableau de objectouijusqu’à 32 éléments
items[].namestringoui1–240 caractères
items[].kindstringouiune valeur parmi manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)oui—
items[].descriptionstringouijusqu’à 512 caractères
actorstringouipeut être null
createdAtstring (date-time)ouipeut être null

Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemple

bash
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

NomEmplacementTypeObligatoireRègles
repositorycheminstringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$
idcheminstring (uuid)oui—

Corps de la requête (application/json)

ChampTypeObligatoireRègles
expectedRevisionintegeroui0–2147483646
itemstableau de objectouijusqu’à 32 éléments
items[].namestringoui1–240 caractères
items[].kindstringouiune valeur parmi manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)oui—
items[].descriptionstringouijusqu’à 512 caractères

Réponse 200

ChampTypeObligatoireRègles
revisionintegeroui0–2147483647
itemstableau de objectouijusqu’à 32 éléments
items[].namestringoui1–240 caractères
items[].kindstringouiune valeur parmi manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)oui—
items[].descriptionstringouijusqu’à 512 caractères
actorstringouipeut être null
createdAtstring (date-time)ouipeut être null

Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Exemple

bash
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

NomEmplacementTypeObligatoireRègles
repositorycheminstringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$
idcheminstring (uuid)oui—
beforerequêteintegernon1–2147483647

Réponse 200

ChampTypeObligatoireRègles
itemstableau de objectouijusqu’à 20 éléments
items[].revisionintegeroui0–2147483647
items[].itemstableau de objectouijusqu’à 32 éléments
items[].items[].namestringoui1–240 caractères
items[].items[].kindstringouiune valeur parmi manifest, sbom, signature, report, file
items[].items[].artifactIdstring (uuid)oui—
items[].items[].descriptionstringouijusqu’à 512 caractères
items[].actorstringouipeut être null
items[].createdAtstring (date-time)ouipeut être null
nextintegeroui1–2147483647; peut être null

Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemple

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments/history" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Arkvory · ProAnimaStudio