Обзор

Репозитории Git / Пайплайны

Управление пайплайнами сборки репозиториев через REST API: список с пагинацией, повторная сборка, отмена, логи и умные ошибки с рекомендациями. Все методы требуют токен аутентификации.

GET /v1/repository/:repositoryId/pipelines

Возвращает список пайплайнов репозитория с пагинацией. Постраничный вывод задаётся параметрами pageIndex (по умолчанию 1) и pageSize (по умолчанию 30); помимо массива items ответ содержит общее количество элементов count. Каждый элемент включает счётчик counter, источник запуска trigger (например, changes), статус (например, passed), git-ревизию и временные метки.

Параметры:

Параметр Место Тип Обязательный Описание
repositoryId Path UUID Да ID репозитория
pageIndex Query number Нет Номер страницы (по умолчанию 1)
pageSize Query number Нет Размер страницы (по умолчанию 30)

Ответ:

{
    "pageIndex": 1,
    "pageSize": 30,
    "count": 42,
    "items": [
        {
            "id": "770e8400-e29b-41d4-a716-446655440002",
            "counter": 5,
            "trigger": "changes",
            "status": "passed",
            "revision": "abc123def456",
            "startedAt": "2024-01-15T10:30:00+00:00",
            "completedAt": "2024-01-15T10:35:00+00:00",
            "createdAt": "2024-01-15T10:30:00+00:00",
            "updatedAt": "2024-01-15T10:35:00+00:00"
        }
    ]
}

Ошибки:

  • 404 Not Found — Репозиторий не найден

GET /v1/repository/:repositoryId/pipeline/:pipelineId

Возвращает один пайплайн репозитория по его UUID. Ответ содержит метаданные запуска и выполнения: счётчик counter, источник запуска trigger, статус, git-ревизию revision и времена начала и завершения (startedAt, completedAt).

Параметры:

Параметр Место Тип Обязательный Описание
repositoryId Path UUID Да ID репозитория
pipelineId Path UUID Да ID пайплайна

Ответ:

{
    "id": "770e8400-e29b-41d4-a716-446655440002",
    "counter": 5,
    "trigger": "changes",
    "status": "passed",
    "revision": "abc123def456",
    "startedAt": "2024-01-15T10:30:00+00:00",
    "completedAt": "2024-01-15T10:35:00+00:00",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:35:00+00:00"
}

Ошибки:

  • 404 Not Found — Репозиторий или пайплайн не найдены

POST /v1/repository/:repositoryId/pipeline/:pipelineId/build

Запускает повторную сборку по существующему пайплайну. Пайплайн переводится в статус building; в ответе возвращается объект Pipeline с обновлёнными startedAt и updatedAt. Повторная сборка доступна только для пайплайнов версии 2 и отклоняется, пока пайплайн находится в статусе waiting или building.

Параметры:

Параметр Место Тип Обязательный Описание
repositoryId Path UUID Да ID репозитория
pipelineId Path UUID Да ID пайплайна

Ответ:

{
    "id": "770e8400-e29b-41d4-a716-446655440002",
    "counter": 6,
    "trigger": "admin",
    "status": "building",
    "revision": "abc123def456",
    "startedAt": "2024-01-15T11:00:00+00:00",
    "completedAt": null,
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T11:00:00+00:00"
}

Ошибки:

  • 404 Not Found — Репозиторий или пайплайн не найдены
  • 400 Bad Request — Пайплайн уже в статусе waiting или building

POST /v1/repository/:repositoryId/pipeline/:pipelineId/cancel

Отменяет выполняющийся пайплайн. После отмены пайплайн переходит в статус canceled, а в ответе фиксируются время завершения completedAt и обновлённый updatedAt. Отмена доступна только для пайплайнов версии 2 и только в статусе waiting или building.

Параметры:

Параметр Место Тип Обязательный Описание
repositoryId Path UUID Да ID репозитория
pipelineId Path UUID Да ID пайплайна

Ответ:

{
    "id": "770e8400-e29b-41d4-a716-446655440002",
    "counter": 6,
    "trigger": "changes",
    "status": "canceled",
    "revision": "abc123def456",
    "startedAt": "2024-01-15T11:00:00+00:00",
    "completedAt": "2024-01-15T11:02:30+00:00",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T11:02:30+00:00"
}

Ошибки:

  • 404 Not Found — Репозиторий или пайплайн не найдены
  • 400 Bad Request — Пайплайн не в статусе waiting или building

GET /v1/repository/:repositoryId/pipeline/:pipelineId/output

Возвращает логи выполнения пайплайна из базы данных. Ответ — массив записей, каждая из которых привязана к этапу выполнения (init, git, build, deploy), содержит дату записи и текст сообщения. Логи позволяют проследить ход сборки от инициализации до деплоя.

Параметры:

Параметр Место Тип Обязательный Описание
repositoryId Path UUID Да ID репозитория
pipelineId Path UUID Да ID пайплайна

Ответ:

[
    {
        "id": "22dc8d59-b5a4-41c4-918e-0d44047a370d",
        "task": "init",
        "date": "2026-07-07T17:57:04.828Z",
        "message": "[>] $CI_PIPELINE_ID=bc098737-1d79-4a1b-b64a-e090afd2c506"
    },
    {
        "id": "eeed5a2a-f3f6-46b0-ba94-2016354c67dc",
        "task": "git",
        "date": "2026-07-07T17:57:04.829Z",
        "message": "[>] Preparing build container for exec task scripts"
    },
    {
        "id": "a7f83336-78e7-4f94-b17f-831fa6744494",
        "task": "build",
        "date": "2026-07-07T17:57:23.173Z",
        "message": "[>] Build image"
    }
]

Ошибки:

  • 404 Not Found — Репозиторий или пайплайн не найдены

GET /v1/repository/:repositoryId/pipeline/:pipelineId/errors

Возвращает ошибки, обнаруженные при выполнении пайплайна. Каждая ошибка содержит уровень (ERROR или CRITICAL), описание, рекомендацию по устранению и оригинальную строку лога, что позволяет диагностировать неудавшуюся сборку без разбора сырых логов.

Параметры:

Параметр Место Тип Обязательный Описание
repositoryId Path UUID Да ID репозитория
pipelineId Path UUID Да ID пайплайна

Ответ:

[
    {
        "level": "ERROR",
        "description": "При выполнении команды apk add в Dockerfile (строка 15) не удалось выбрать пакеты: ca-certificates, curl, nodejs — пакеты отсутствуют в репозитории.",
        "solution": "Проверьте доступность репозитория пакетов и правильность имён пакетов; при необходимости выполните apk update перед установкой.",
        "log": "[build] #5 0.079 ERROR: unable to select packages: ca-certificates (no such package)"
    }
]

Ошибки:

  • 404 Not Found — Репозиторий или пайплайн не найдены
Назад
Репозитории Git
Далее
Файлы конфигурации
В этой статье
GET /v1/repository/:repositoryId/pipelines
GET /v1/repository/:repositoryId/pipeline/:pipelineId
POST /v1/repository/:repositoryId/pipeline/:pipelineId/build
POST /v1/repository/:repositoryId/pipeline/:pipelineId/cancel
GET /v1/repository/:repositoryId/pipeline/:pipelineId/output
GET /v1/repository/:repositoryId/pipeline/:pipelineId/errors

Мы используем файлы cookies

Продолжив работу с сайтом, вы соглашаетесь с   политикой использования файлов Cookies