CI/CD


Описание структуры JSON-объекта, описывающего конвейер

Поле Тип Описание
id String ID конвейера
status String Статус конвейера. Возможные значения: CREATED, PENDING, WAITING_FOR_RESOURCE, RUNNING, SUCCESS, FAILED, CANCELED, SKIPPED, MANUAL, WARNING
duration String Время продолжительности выполнения контейнера в секундах
localId String Локальный ID конвейера
commitId String Хеш коммита, для которого создан конвейер
projectId String ID проекта, в котором запущен конвейер
userId String ID пользователя, который запустил конвейер
beforeCommitId String Устаревший параметр. По умолчанию возвращает null
ref String Указывает ref для которого запускался конвейер - ветка или тег
source String Источника, который инициировал конвейер. Возможные значения: PUSH, TRIGGER, SCHEDULE, WEB, API, PARENT_PIPELINE, MERGE_REQUEST_EVENT
configSource String Устаревший параметр. По умолчанию возвращает null
failureReason String Причина, по которой конвейер завершился со статусом FAILED
startedAt String Время, в которое конвейер приступил к выполнению
finishedAt String Время, в которое был завершен конвейер
createdAt String Время, в которое был создан конвейер
tag String Устаревший параметр. По умолчанию возвращает false

Описание структуры JSON-объекта, описывающего задачу

Поле Тип Описание
id String ID задачи
localId Integer Локальный ID задачи
finishedAt Date Время окончания выполнения
startedAt Date Время начала выполнения
name String Имя задачи
stageName String Имя стадии, к которой прикреплена задача
tag Boolean Прикреплена ли задача к тегу true или нет false
ref String Указывает ref для которого запускался конвейер - ветка или тег
artifactsExpireAt Date Дата, когда артефакт пропадет
status String Статус задачи. Возможные значения: CREATED, PENDING, WAITING_FOR_RESOURCE, RUNNING, SUCCESS, FAILED, CANCELED, SKIPPED, MANUAL, WARNING
pipelineLocalId Integer Локальный ID конвейера
erasedAt Depricated Устаревший параметр. По умолчанию возвращает null

Описание структуры JSON-объекта, описывающего артефакт

Поле Тип Описание
id String ID артефакта
fileType Integer Тип файла
size String Размер в байтах
expireAt Date Дата, когда артефакт пропадет
fileName String Имя файла
downloadUrl String Путь для скачивания артефакта
jobLocalId Integer Локальный ID задачи

Методы для конвейеров

Метод для получения списка конвейеров проекта

GET /project/{ownerrAlias}/{projectAlias}/cicd/pipeline

Запрос возвращает список конвейеров проекта, есть возможность настройки количества отображаемых объектов на странице

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "restPipelineModelList": [
            {
                "id": "d4b27a95-aaaa-aaaa-aaaa-97632f700b27",
                "status": "SUCCESS",
                "duration": 3,
                "localId": 2,
                "commitId": "86d949be6ec074aaaaaaaaaaaad98acef85341f7",
                "projectId": "f980649d-aaaa-aaaa-aaaa-40102294aa2d",
                "userId": "02d57aff-aaaa-aaaa-aaaa-9edc50257a42",
                "beforeCommitId": null,
                "ref": "master",
                "source": "WEB",
                "configSource": null,
                "failureReason": null,
                "startedAt": null,
                "finishedAt": "2024-09-19T15:08:11.026116",
                "createdAt": "2024-09-19T15:08:06.97725",
                "tag": false
            },
            {
                "id": "19975dcd-aaaa-aaaa-aaaa-bbd6494c5bc0",
                "status": "SUCCESS",
                "duration": 3,
                "localId": 1,
                "commitId": "6d8b6e82f18c5eaaaaaaaaaaaa21e1e1e3a16f2b",
                "projectId": "f980649d-aaaa-aaaa-aaaa-40102294aa2d",
                "userId": "02d57aff-aaaa-aaaa-aaaa-9edc50257a42",
                "beforeCommitId": null,
                "ref": "master",
                "source": "PUSH",
                "configSource": null,
                "failureReason": null,
                "startedAt": null,
                "finishedAt": "2024-09-19T15:07:50.840049",
                "createdAt": "2024-09-19T15:06:11.109839",
                "tag": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для получения информации о задачах

GET /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/jobs

Запрос возвращает список задач конвейера, есть возможность настройки количества отображаемых объектов на странице

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер конвейера

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "restPipelineJobModelList": [
            {
                "id": "a550da80-aaaa-aaaa-aaaa-1698bac3e8e9",
                "localId": 1,
                "finishedAt": "2023-01-01T00:00:00.00000Z",
                "startedAt": null,
                "name": "job 1",
                "stageName": "build",
                "tag": false,
                "ref": "master",
                "erasedAt": null,
                "artifactsExpireAt": null,
                "status": "SUCCESS",
                "pipelineLocalId": 1
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для получения информации об артефактах

GET /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/artifacts

Запрос возвращает список артефактов конвейера, есть возможность настройки количества отображаемых объектов на странице

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер конвейера

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "restPipelineJobArtifactModelList": [
            {
                "id": "g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194",
                "fileType": "metadata",
                "size": 125667,
                "expireAt": "2023-06-13T15:40:26.145095Z",
                "fileName": "d00c197c-aaaa-aaaa-aaaa-a902b51f230f.log",
                "downloadUrl": "api.gitflic.ru/project/username/projectname/cicd/job/1/artifact/g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194/download",
                "jobLocalId": 1
            }
        ]
    },
    "page": {
        "size": 1,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для скачивания артефактов

GET /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/artifacts-download

Запрос скачивает артефакт конвейера

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер конвейера

Responses

STATUS 200 - Начинается процесс скачивания файла

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для запуска конвейера

POST /project/{ownerAlias}/{projectAlias}/cicd/pipeline/start

Запрос запускает новый конвейер для стандартной ветки проекта

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта

Responses

STATUS 200 - Начало выполнения нового конвейера

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для перезапуска конвейера

POST /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/restart

Запрос перезапускает конвейер

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер конвейера

Responses

STATUS 200 - Перезапуск конвейера

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод для отмены выполнения конвейера

POST /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/cancel

Запрос отменяет выполнение конвейера

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер конвейера

Responses

STATUS 200 - Прекращение выполнения конвейера

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод удаления конвейера

DELETE /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/delete

Запрос удаляет конвейер

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер конвейера

Responses

STATUS 200 - Удаление конвейера

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Методы для задач

Метод получения информации о задаче по id

GET /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}

Запрос возвращает информацию о задаче

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "g00i197t-aaaa-aaaa-aaaa-4902i51t230f",
    "localId": 1,
    "finishedAt": "2023-01-01T00:00:00.00000Z",
    "startedAt": null,
    "name": "job 1",
    "stageName": "stage",
    "tag": false,
    "ref": "master",
    "erasedAt": null,
    "artifactsExpireAt": null,
    "status": "FAILED",
    "pipelineLocalId": 1
}
    
  


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод получения информации об артефактах задачи

GET /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}/artifacts

Запрос возвращает информацию об артефактах задачи, есть возможность настройки количества отображаемых объектов на странице

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "restPipelineJobArtifactModelList": [
            {
                "id": "g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194",
                "fileType": "metadata",
                "size": 125667,
                "expireAt": "2023-01-01T00:00:0.00000Z",
                "fileName": "g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194.log",
                "downloadUrl": "api.gitflic.ru/project/username/projectname/cicd/job/1/artifact/g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194/download",
                "jobLocalId": 1
            }
        ]
    },
    "page": {
        "size": 1,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод скачивания артефактов задачи

GET /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}/artifacts-download

Запрос начинает процесс скачивания артефактов задачи

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи

Responses

STATUS 200 - Скачивание артефактов

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод скачивания артефакта по uuid

GET /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}/artifact/{artifactUuid}/download

Запрос начинает процесс скачивания артефакта

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи
artifactUuid String UUID артефакта

Responses

STATUS 200 - Скачивание артефактов

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод перезапуска задачи

POST /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}/restart

Запрос перезапускает задачу

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи

Responses

STATUS 200 - Перезапуск задачи

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод отмены выполнения задачи

POST /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}/cancel

Запрос отменяет выполнение задачи. Отменить можно задачи, которые находятся НЕ в статусе Успех, Отмена или Ошибка

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи

Responses

STATUS 200 - Отмена выполнения задачи

STATUS 400 - Ошибка при попытке отменить задачу в статусе Успех, Ошибка или Отменен

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Метод удаления артефакта

DELETE /project/{ownerAlias}/{projectAlias}/cicd/job/{localId}/artifact/{artifactUuid}/delete

Запрос удаляет артефакт

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
localId String Номер задачи
artifactUuid String UUID артефакта

Responses

STATUS 200 - Удаление артефакта.

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.