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
- Данные по запросу не найдены.