Ответ
В GitLab CI/CD API, сущность Job (часто называемая в документации "job") позволяет управлять задачами пайплайна. Вот основные операции, которые я использовал для автоматизации и интеграций:
- Запуск ручной job (
play): Запуск job, у которой стоитwhen: manual. Полезно для утверждения деплоя на прод.curl --request POST --header "PRIVATE-TOKEN: <GL_TOKEN>" "https://gitlab.example.com/api/v4/projects/123/jobs/456/play" - Повторный запуск job (
retry): Перезапуск упавшей или завершенной job с теми же параметрами.curl --request POST --header "PRIVATE-TOKEN: <GL_TOKEN>" "https://gitlab.example.com/api/v4/projects/123/jobs/456/retry" - Отмена выполняющейся job (
cancel): Остановка job, которая сейчас выполняется. - Удаление артефактов job (
erase): Очистка артефактов (логов, собранных файлов) для экономии места. Сама запись о job остается. - Получение логов выполнения (
trace): Чтение логов job в реальном времени или после завершения. Используется для внешнего мониторинга статуса сборок.curl --header "PRIVATE-TOKEN: <GL_TOKEN>" "https://gitlab.example.com/api/v4/projects/123/jobs/456/trace" - Получение информации о job (
GET /projects/:id/jobs/:job_id): Запрос метаданных job — статус, этап, артефакты, длительность.