Paquetes
Paquetes UPack: registro, listado, versiones y descargas por nombre, versión o rango.
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
Listar versiones de paquetes
GET HEAD /api/v1/repositories/{repository}/packages
Acceso: Permiso de repositorio: package.read; claves de archivo: read · Reintento: Se puede repetir (lectura)
Enumera las versiones de UPack registradas con sus manifiestos, filtradas por group y name (exactos, sin distinguir mayúsculas; group= con un valor vacío selecciona el grupo raíz y omitirlo selecciona todos los grupos). sort (group, name, version), direction (asc, desc) y groupBy (none, group, package, que añade groups con los artifactIds de la página) dan forma al resultado. Las páginas contienen limit elementos (1–100, 50 por defecto); continúe pasando next como after con los mismos filtros. Las páginas no son una instantánea: las versiones registradas entretanto pueden omitirse hasta la siguiente pasada.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
repository | ruta | string | sí | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
group | consulta | string | no | — |
name | consulta | string | no | — |
sort | consulta | string | no | uno de group, name, version |
direction | consulta | string | no | uno de asc, desc |
groupBy | consulta | string | no | uno de none, group, package |
after | consulta | string | no | — |
limit | consulta | integer | no | 1–100 |
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
items | array de object | sí | — |
items[].group | string | no | — |
items[].name | string | no | — |
items[].version | string | no | — |
items[].artifactId | string (uuid) | no | — |
items[].manifest | object | no | — |
next | string | sí | puede ser null |
groups | array de object | sí | — |
groups[].group | string | sí | — |
groups[].name | string | sí | puede ser null |
groups[].artifactIds | array de string (uuid) | sí | — |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Descargar un paquete por nombre y versión
GET HEAD /api/v1/repositories/{repository}/packages/content
Acceso: Permiso de repositorio: content.read; claves de archivo: read · Reintento: Se puede repetir (lectura)
Resuelve name (en group, el grupo raíz por defecto) a una versión registrada y la transmite como downloadArtifact; X-Arkvory-Artifact-Id y X-Arkvory-Package-Version indican la elección. Seleccione por version exacta o por range SemVer (como ^1.4 o >=1.0.0 <2.0.0), opcionalmente solo las versiones con stage; sin ninguno de los dos toma la versión estable más alta, prerelease=true admite versiones preliminares y order=promoted toma la versión a la que se asignó stage más recientemente. El nombre se resuelve en cada solicitud, así que reanude con If-Range igual al ETag devuelto, o descargue por ID de artefacto; resolvePackage da la misma elección sin los bytes.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
repository | ruta | string | sí | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
Range | encabezado | string | no | Single bytes range; multi-range is unsupported. HEAD ignores Range. |
If-Range | encabezado | string | no | Exact strong ETag; a mismatch causes a full response. |
If-None-Match | encabezado | string | no | Matching ETag returns 304, including HEAD. |
Arkvory-Download-Id | encabezado | string | no | coincide con ^[A-Za-z0-9_-]{16,64}$; The client own id of one download, the same on every range of it: the queue keys the session by it instead of the client address, answers a waiting request at once with 503 download_queued, and may ask it to yield its place at a range boundary. Without it, a waiting request is held until its turn for a bounded time. |
Arkvory-Queue-Ticket | encabezado | string | no | hasta 80 caracteres; The last Arkvory-Queue-Ticket the server sent for this download: after a server restart the download takes its old turn. A ticket that is wrong, expired or of another download is ignored. |
Arkvory-Download-Class | encabezado | string | no | uno de interactive, release, bulk, background; Queue class of the download. Only a class lower than the caller own one applies (people: interactive, services and links: release); an unknown value is 400. The response names the class applied. |
group | consulta | string | no | hasta 128 caracteres |
name | consulta | string | sí | 1–128 caracteres |
version | consulta | string | no | hasta 128 caracteres; Exact version; excludes range. |
range | consulta | string | no | hasta 256 caracteres; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b. |
stage | consulta | string | no | coincide con ^[a-z0-9][a-z0-9_.-]{0,31}$; Only versions promoted to this stage. |
prerelease | consulta | string | no | uno de true, false; Include prereleases. |
order | consulta | string | no | uno de version, promoted; promoted picks the most recently staged version and requires stage. |
Respuestas: 200, 206, 304, 400, 401, 403, 404, 409, 416, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages/content?name=$NAME" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-o file