Перейти к содержимому

Вложения сборки ​

Журналы, отчёты и другие файлы, прикреплённые к артефакту, с их историей.

Операции этой группы с правилом доступа, правилом повтора, параметрами и ответами. Каждый запрос несёт ключ: Authorization: Bearer <ключ> (см. «Аутентификация»).

Операции ​

Получить вложения сборки ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments

Доступ: Право в репозитории: annotation.read; файловые ключи: read · Повтор: Можно повторять (чтение)

Возвращает текущую ревизию вложений артефакта: до 32 записей, каждая указывает на другой опубликованный артефакт репозитория и содержит name, kind (manifest, sbom, signature, report, file) и description, а также инициатора и время изменения. Ревизия 0 без элементов означает, что ничего никогда не прикреплялось. Скачивайте вложенный файл по его artifactId.

Параметры

ИмяГдеТипОбязателенПравила
repositoryпутьstringдапо шаблону ^[a-z0-9][a-z0-9_-]{0,63}$
idпутьstring (uuid)да—

Ответ 200

ПолеТипОбязателенПравила
revisionintegerда0–2147483647
itemsмассив objectдане больше 32 элементов
items[].namestringда1–240 символов
items[].kindstringдаодно из manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)да—
items[].descriptionstringдане длиннее 512 символов
actorstringдаможет быть null
createdAtstring (date-time)даможет быть null

Ответы: 200, 400, 401, 403, 404, 409, 422, 503, 507

Пример

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

Заменить вложения сборки ​

PUT /api/v1/repositories/{repository}/artifacts/{id}/attachments

Доступ: Право в репозитории: annotation.write, artifact.read; файловые ключи: read, write · Повтор: Повтор только с ожидаемой ревизией (compare-and-swap)

Заменяет весь список вложений артефакта (до 32 записей; пустой список удаляет все) и возвращает новую ревизию. Каждая цель должна быть другим артефактом, уже опубликованным в том же репозитории (сначала загрузите его), имена уникальны без учёта регистра, описания — до 512 символов. expectedRevision должна быть текущей ревизией (0 для первого списка), иначе 409 revision_mismatch; артефакты, названные в любой ревизии, остаются защищёнными от удаления.

Параметры

ИмяГдеТипОбязателенПравила
repositoryпутьstringдапо шаблону ^[a-z0-9][a-z0-9_-]{0,63}$
idпутьstring (uuid)да—

Тело запроса (application/json)

ПолеТипОбязателенПравила
expectedRevisionintegerда0–2147483646
itemsмассив objectдане больше 32 элементов
items[].namestringда1–240 символов
items[].kindstringдаодно из manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)да—
items[].descriptionstringдане длиннее 512 символов

Ответ 200

ПолеТипОбязателенПравила
revisionintegerда0–2147483647
itemsмассив objectдане больше 32 элементов
items[].namestringда1–240 символов
items[].kindstringдаодно из manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)да—
items[].descriptionstringдане длиннее 512 символов
actorstringдаможет быть null
createdAtstring (date-time)даможет быть null

Ответы: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Пример

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":[]}'

Перечислить историю вложений сборки ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments/history

Доступ: Право в репозитории: annotation.read; файловые ключи: read · Повтор: Можно повторять (чтение)

Возвращает прежние и текущую ревизии вложений артефакта от новых к старым, по 20 на страницу, каждую с записями, инициатором и временем; продолжайте с before, равным next. Вложенные артефакты каждой ревизии остаются доступными для скачивания, потому что защищены от удаления.

Параметры

ИмяГдеТипОбязателенПравила
repositoryпутьstringдапо шаблону ^[a-z0-9][a-z0-9_-]{0,63}$
idпутьstring (uuid)да—
beforeзапросintegerнет1–2147483647

Ответ 200

ПолеТипОбязателенПравила
itemsмассив objectдане больше 20 элементов
items[].revisionintegerда0–2147483647
items[].itemsмассив objectдане больше 32 элементов
items[].items[].namestringда1–240 символов
items[].items[].kindstringдаодно из manifest, sbom, signature, report, file
items[].items[].artifactIdstring (uuid)да—
items[].items[].descriptionstringдане длиннее 512 символов
items[].actorstringдаможет быть null
items[].createdAtstring (date-time)даможет быть null
nextintegerда1–2147483647; может быть null

Ответы: 200, 400, 401, 403, 404, 409, 422, 503, 507

Пример

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

Arkvory · ProAnimaStudio