Anexos de build
Logs, relatórios e outros arquivos anexados a um artefato, com o histórico deles.
Operações deste grupo com a regra de acesso, a regra de repetição, os parâmetros e as respostas. Toda solicitação leva uma chave: Authorization: Bearer <chave> (consulte “Autenticação”).
Operações
Obter os anexos de um build
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments
Acesso: Permissão no repositório: annotation.read; chaves em arquivo: read · Repetição: Pode ser repetida com segurança (leitura)
Retorna a revisão atual dos anexos de um artefato: até 32 entradas, cada uma indicando outro artefato publicado do repositório com um name, um kind (manifest, sbom, signature, report, file) e uma description, além do ator e da hora da alteração. A revisão 0 sem itens significa que nada nunca foi anexado. Baixe um arquivo anexado pelo seu artifactId.
Parâmetros
| Nome | Local | Tipo | Obrigatório | Regras |
|---|---|---|---|---|
repository | caminho | string | sim | corresponde a ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | caminho | string (uuid) | sim | — |
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
revision | integer | sim | 0–2147483647 |
items | array de object | sim | até 32 itens |
items[].name | string | sim | 1–240 caracteres |
items[].kind | string | sim | um destes: manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | sim | — |
items[].description | string | sim | até 512 caracteres |
actor | string | sim | pode ser null |
createdAt | string (date-time) | sim | pode ser null |
Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Substituir os anexos de um build
PUT /api/v1/repositories/{repository}/artifacts/{id}/attachments
Acesso: Permissão no repositório: annotation.write, artifact.read; chaves em arquivo: read, write · Repetição: Repetir somente com a revisão esperada (compare-and-swap)
Substitui a lista inteira de anexos de um artefato (até 32 entradas; uma lista vazia remove todos) e retorna a nova revisão. Cada destino deve ser outro artefato já publicado no mesmo repositório (envie-o primeiro), os nomes são únicos sem distinção entre maiúsculas e minúsculas e as descrições têm até 512 caracteres. expectedRevision deve ser a revisão atual (0 para a primeira lista); caso contrário, 409 revision_mismatch; os artefatos citados em qualquer revisão continuam protegidos contra exclusão.
Parâmetros
| Nome | Local | Tipo | Obrigatório | Regras |
|---|---|---|---|---|
repository | caminho | string | sim | corresponde a ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | caminho | string (uuid) | sim | — |
Corpo da solicitação (application/json)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
expectedRevision | integer | sim | 0–2147483646 |
items | array de object | sim | até 32 itens |
items[].name | string | sim | 1–240 caracteres |
items[].kind | string | sim | um destes: manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | sim | — |
items[].description | string | sim | até 512 caracteres |
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
revision | integer | sim | 0–2147483647 |
items | array de object | sim | até 32 itens |
items[].name | string | sim | 1–240 caracteres |
items[].kind | string | sim | um destes: manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | sim | — |
items[].description | string | sim | até 512 caracteres |
actor | string | sim | pode ser null |
createdAt | string (date-time) | sim | pode ser null |
Respostas: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemplo
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 o histórico de anexos de um build
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments/history
Acesso: Permissão no repositório: annotation.read; chaves em arquivo: read · Repetição: Pode ser repetida com segurança (leitura)
Retorna as revisões de anexos anteriores e a atual de um artefato, da mais nova para a mais antiga, 20 por página, cada uma com suas entradas, ator e hora; continue com before definido como next. Os artefatos anexados de todas as revisões continuam disponíveis para download, porque estão protegidos contra exclusão.
Parâmetros
| Nome | Local | Tipo | Obrigatório | Regras |
|---|---|---|---|---|
repository | caminho | string | sim | corresponde a ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | caminho | string (uuid) | sim | — |
before | consulta | integer | não | 1–2147483647 |
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
items | array de object | sim | até 20 itens |
items[].revision | integer | sim | 0–2147483647 |
items[].items | array de object | sim | até 32 itens |
items[].items[].name | string | sim | 1–240 caracteres |
items[].items[].kind | string | sim | um destes: manifest, sbom, signature, report, file |
items[].items[].artifactId | string (uuid) | sim | — |
items[].items[].description | string | sim | até 512 caracteres |
items[].actor | string | sim | pode ser null |
items[].createdAt | string (date-time) | sim | pode ser null |
next | integer | sim | 1–2147483647; pode ser null |
Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments/history" \
-H "Authorization: Bearer $ARKVORY_TOKEN"