CICD


Описание структуры 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 Статус задачи
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/{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 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 - Данные по запросу не найдены.