Adjuntos de compilación
Registros, informes y otros archivos adjuntos a un artefacto, con su historial.
Operaciones de este grupo con su regla de acceso, su regla de reintento, sus parámetros y sus respuestas. Cada solicitud lleva una clave: Authorization: Bearer <clave> (consulte «Autenticación»).
Operaciones
Obtener los adjuntos de una compilación
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments
Acceso: Permiso de repositorio: annotation.read; claves de archivo: read · Reintento: Se puede repetir (lectura)
Devuelve la revisión actual de adjuntos de un artefacto: hasta 32 entradas, cada una referida a otro artefacto publicado del repositorio, con un name, un kind (manifest, sbom, signature, report, file) y una description, además del actor y la hora del cambio. La revisión 0 sin elementos significa que nunca se adjuntó nada. Descargue un archivo adjunto por su artifactId.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
repository | ruta | string | sí | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | ruta | string (uuid) | sí | — |
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
revision | integer | sí | 0–2147483647 |
items | array de object | sí | hasta 32 elementos |
items[].name | string | sí | 1–240 caracteres |
items[].kind | string | sí | uno de manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | sí | — |
items[].description | string | sí | hasta 512 caracteres |
actor | string | sí | puede ser null |
createdAt | string (date-time) | sí | puede ser null |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Reemplazar los adjuntos de una compilación
PUT /api/v1/repositories/{repository}/artifacts/{id}/attachments
Acceso: Permiso de repositorio: annotation.write, artifact.read; claves de archivo: read, write · Reintento: Repetir solo con la revisión esperada (compare-and-swap)
Reemplaza la lista completa de adjuntos de un artefacto (hasta 32 entradas; una lista vacía los quita todos) y devuelve la nueva revisión. Cada destino debe ser otro artefacto ya publicado en el mismo repositorio (súbalo primero), los nombres son únicos sin distinguir mayúsculas y las descripciones tienen hasta 512 caracteres. expectedRevision debe ser la revisión actual (0 para la primera lista); de lo contrario, 409 revision_mismatch; los artefactos nombrados en cualquier revisión permanecen protegidos contra la eliminación.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
repository | ruta | string | sí | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | ruta | string (uuid) | sí | — |
Cuerpo de la solicitud (application/json)
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
expectedRevision | integer | sí | 0–2147483646 |
items | array de object | sí | hasta 32 elementos |
items[].name | string | sí | 1–240 caracteres |
items[].kind | string | sí | uno de manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | sí | — |
items[].description | string | sí | hasta 512 caracteres |
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
revision | integer | sí | 0–2147483647 |
items | array de object | sí | hasta 32 elementos |
items[].name | string | sí | 1–240 caracteres |
items[].kind | string | sí | uno de manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | sí | — |
items[].description | string | sí | hasta 512 caracteres |
actor | string | sí | puede ser null |
createdAt | string (date-time) | sí | puede ser null |
Respuestas: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Ejemplo
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":[]}'Listar el historial de adjuntos de una compilación
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments/history
Acceso: Permiso de repositorio: annotation.read; claves de archivo: read · Reintento: Se puede repetir (lectura)
Devuelve las revisiones de adjuntos anteriores y la actual de un artefacto, de la más reciente a la más antigua, 20 por página, cada una con sus entradas, el actor y la hora; continúe pasando next como before. Los artefactos adjuntos de todas las revisiones siguen siendo descargables, porque están protegidos contra la eliminación.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
repository | ruta | string | sí | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | ruta | string (uuid) | sí | — |
before | consulta | integer | no | 1–2147483647 |
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
items | array de object | sí | hasta 20 elementos |
items[].revision | integer | sí | 0–2147483647 |
items[].items | array de object | sí | hasta 32 elementos |
items[].items[].name | string | sí | 1–240 caracteres |
items[].items[].kind | string | sí | uno de manifest, sbom, signature, report, file |
items[].items[].artifactId | string (uuid) | sí | — |
items[].items[].description | string | sí | hasta 512 caracteres |
items[].actor | string | sí | puede ser null |
items[].createdAt | string (date-time) | sí | puede ser null |
next | integer | sí | 1–2147483647; puede ser null |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments/history" \
-H "Authorization: Bearer $ARKVORY_TOKEN"