Получить список артефактов в репозитории

GET /repos/{owner}/{repo}/actions/artifacts

Описание

Этот метод позволяет получить список артефактов (например, выходные данные сборки, пакеты или файлы развертывания) для указанного репозитория. Поддерживает пагинацию. Могут просматривать артефакты только те пользователи, у которых есть как минимум доступ на чтение указанного репозитория.

Токен

Требуется токен с правами на Чтение для Репозитория.

Заголовки

ПараметрОбязательныйОписание
acceptНетТип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest

Параметры пути

ПараметрОбязательныйОписание
ownerДаВладелец репозитория (логин или название организации)
repoДаНазвание репозитория

Параметры запроса

ПараметрОбязательныйОписание
pageНетНомер страницы (начиная с 1)
per_pageНетКоличество результатов на странице (максимум 50)
nameНетИмя артефакта. Если указано, будут возвращены только артефакты с этим именем

Тело запроса

Данный метод не требует тела запроса.

Пример запроса

curl -X GET s"https://api.gitverse.ru/repos/myuser/myrepo/actions/artifacts" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1" \
  -G \
  --data-urlencode "page=1" \
  --data-urlencode "per_page=30"

Ответ (200 OK)

Ответ содержит список артефактов репозитория.

{
  "artifacts": [
    {
      "id": 123,
      "node_id": "MDg6QXJ0aWZhY3QxMjM=",
      "name": "my-artifact",
      "size_in_bytes": 1024,
      "created_at": "2023-01-01T00:00:00Z",
      "updated_at": "2023-01-01T00:00:00Z",
      "expired": false,
      "expires_at": "2023-01-01T00:00:00Z",
      "archive_download_url": "https://api.gitverse.ru/repos/myuser/myrepo/actions/artifacts/123/zip",
      "url": "https://api.gitverse.ru/repos/myuser/myrepo/actions/artifacts/123",
      "workflow_run": {
        "id": 456,
        "repository_id": 789,
        "head_sha": "abc123def456..."
      }
    }
  ],
  "total_count": 1
}

Формат ответа: application/vnd.gitverse.object+json;version=1

Коды ответов

КодСтатусОписание
200OkЗапрос выполнен успешно
400Bad RequestНекорректный запрос
401UnauthorizedНеобходима авторизация
403ForbiddenНедостаточно прав на выполнение
404Not FoundАртефакт не найден
429Too Many RequestsПревышен лимит запросов
500Internal Server ErrorВнутренняя ошибка сервера

Пример тела ошибки

При ответе 400 тело ответа имеет следующий вид:

{
  "error": {
    "code": "BAD_REQUEST",
    "documentation_url": "https://gitverse.ru/docs/developers/public-api/",
    "message": "The request format is invalid",
    "status": 400
  }
}

Примечания

  • убедитесь, что токен API указан корректно и обладает необходимыми правами для доступа к репозиторию;
  • возвращаемый список артефактов может быть ограничен параметрами page и per_page;
  • скачивание артефакта по ссылке archive_download_url (домен api.gitverse.ru) поддерживает возобновление прерванных загрузок (Range Requests, заголовки Accept-Ranges и Content-Length).