Перейти к содержанию

Запросы на слияние


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

Поле Тип Описание
id String Уникальный ID запроса на слияние
localId Long Локальный ID запроса на слияние
description String Описание запроса на слияние
title String Название запроса на слияние
removeSourceBranch Boolean Удалить исходную ветку, после того как запрос на слияние будет принят true или нет false
squashCommit Boolean Выполнить слияние одним коммитом true или нет false
assignedUsers List(Object) Список ответственных пользователей, назначенных на запрос на слияние
reviewers List(Object) Список рецензентов пользователей, назначенных на запрос на слияние
labels List(Object) Список лейблов, назначенных на запрос на слияние
sourceBranch Object Ветка, из которой будет выполнен запрос на слияние
targetBranch Object Ветка, в которую будет выполнен запрос на слияние
status Object Статус запроса на слияние
createdBy Object Автор запроса на слияние
createdAt ZonedDateTime Дата создания запроса на слияние
updatedAt ZonedDateTime Дата последнего изменения запроса на слияние
sourceProject Object Проект, из которого выполняется запрос на слияние
targetProject Object Проект, для которого выполняется запрос на слияние
projectAlias String Псевдоним проекта
userAlias String Псевдоним автора
canMerge Boolean Слияние может быть выполнено true или нет false
hasConflicts Boolean В запросе есть конфликты true или нет false
hasLockConflicts Boolean В запросе есть конфликты с заблокированными файлами true или нет false
conflicts List Список конфликтующих файлов
lockConflicts List Список конфликтующих заблокированных файлов
mergeCommit Object Коммит, образующийся после слияния

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

GET /project/{ownerAlias}/{projectAlias}/merge-request/list

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "mergeRequestModelList": [
            {
                "id": "767e5a4a-aaaa-aaaa-aaaa-f4d1fb6b5490",
                "localId": 3,
                "description": "test3",
                "title": "test3-description",
                "removeSourceBranch": false,
                "squashCommit": false,
                "assignedUsers": [
                    {
                        "id": "bc56d75f-aaaa-aaaa-aaaa-61ec6aae2019",
                        "username": "user",
                        "name": null,
                        "surname": null,
                        "fullName": "user",
                        "avatar": "https://gitflic.ru/upload/img/43258295-aaaa-aaaa-aaaa-8fc26bae3717.jpg"
                    }
                ],
                "reviewers": [
                    {
                        "id": "bc56d75f-aaaa-aaaa-aaaa-61ec6aae2019",
                        "username": "user",
                        "name": null,
                        "surname": null,
                        "fullName": "user",
                        "avatar": "https://gitflic.ru/upload/img/43258295-aaaa-aaaa-aaaa-8fc26bae3717.jpg"
                    }
                ],
                "labels": [
                    {
                        "id": "c9135ea3-aaaa-aaaa-aaaa-1ec3c61a5b6d",
                        "hexColor": "FCF300",
                        "title": "релиз",
                        "description": "Доработки готовые для релиза",
                        "isTextLight": false
                    }
                ],
                "sourceBranch": {
                    "id": "new_branch",
                    "title": "new_branch",
                    "hash": "8c9aa77d99b3c7aaaaaaaaaaaa370f4a36e0bc0a",
                    "alias": "8c9aa77d99b3c7aaaaaaaaaaaa421b14d31b6337",
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "targetBranch": {
                    "id": "master",
                    "title": "master",
                    "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "status": {
                    "id": "OPENED",
                    "title": "В работе",
                    "hash": null,
                    "alias": null,
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "createdBy": {
                    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
                    "username": "user2",
                    "name": "name",
                    "surname": "surname",
                    "fullName": "name surname",
                    "avatar": "https://gitflic.ru/static/image/avatar.jpg"
                },
                "createdAt": "2022-05-03T16:25:53.830856Z",
                "updatedAt": "2022-05-03T16:25:53.830856Z",
                "sourceProject": {
                    "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
                    "title": "test-project",
                    "hash": null,
                    "alias": "test-project",
                    "ownerAlias": "user2",
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "targetProject": {
                    "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
                    "title": "test-project",
                    "hash": null,
                    "alias": "test-project",
                    "ownerAlias": "user2",
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "projectAlias": "test-project",
                "userAlias": "user2",
                "canMerge": false,
                "hasConflicts": false,
                "hasLockConflicts": null,
                "conflicts": null,
                "lockConflicts": null,
                "mergeCommit": null
            },
            {
                "id": "b9c534c9-aaaa-aaaa-aaaa-754e11af2eb0",
                "localId": 2,
                "description": "test2-desc",
                "title": "test2",
                "removeSourceBranch": false,
                "squashCommit": false,
                "assignedUsers": [],
                "reviewers": [],
                "labels": [],
                "sourceBranch": {
                    "id": "master",
                    "title": "master",
                    "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "targetBranch": {
                    "id": "master",
                    "title": "master",
                    "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "status": {
                    "id": "OPENED",
                    "title": "В работе",
                    "hash": null,
                    "alias": null,
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "createdBy": {
                    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
                    "username": "user2",
                    "name": "name",
                    "surname": "surname",
                    "fullName": "name surname",
                    "avatar": "https://gitflic.ru/static/image/avatar.jpg"
                },
                "createdAt": "2022-04-20T14:08:10.381743Z",
                "updatedAt": "2022-04-20T14:08:10.384743Z",
                "sourceProject": {
                    "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
                    "title": "test-project",
                    "hash": null,
                    "alias": "test-project",
                    "ownerAlias": "user2",
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "targetProject": {
                    "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
                    "title": "test-project",
                    "hash": null,
                    "alias": "test-project",
                    "ownerAlias": "user2",
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "projectAlias": "test-project",
                "userAlias": "user2",
                "canMerge": false,
                "hasConflicts": false,
                "hasLockConflicts": null,
                "conflicts": null,
                "lockConflicts": null,
                "mergeCommit": null
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод получения запроса на слияние по локальному id

GET /project/{ownerAlias}/{projectAlias}/merge-request/{localId}

Запрос возвращает запрос на слияние по его локальному ID

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
            {
                "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
                "localId": 1,
                "description": "test2-new",
                "title": "test2-new",
                "removeSourceBranch": false,
                "squashCommit": false,
                "assignedUsers": [],
                "reviewers": [],
                "labels": [],
                "sourceBranch": {
                    "id": "master",
                    "title": "master",
                    "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "targetBranch": {
                    "id": "master",
                    "title": "master",
                    "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "status": {
                    "id": "CANCELED",
                    "title": "Отменен",
                    "hash": null,
                    "alias": null,
                    "ownerAlias": null,
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "createdBy": {
                    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
                    "username": "user2",
                    "name": "name",
                    "surname": "surname",
                    "fullName": "name surname",
                    "avatar": "https://gitflic.ru/static/image/avatar.jpg"
                },
                "createdAt": "2022-04-20T13:56:00.250341Z",
                "updatedAt": "2022-04-20T14:13:37.491826Z",
                "sourceProject": {
                    "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
                    "title": "test-project",
                    "hash": null,
                    "alias": "test-project",
                    "ownerAlias": "user2",
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "targetProject": {
                    "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
                    "title": "test-project",
                    "hash": null,
                    "alias": "test-project",
                    "ownerAlias": "user2",
                    "color": null,
                    "hexColor": null,
                    "icon": null
                },
                "projectAlias": "test-project",
                "userAlias": "user2",
                "canMerge": false,
                "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null,
    "lockConflicts": null,
    "mergeCommit": null
}
    
  

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

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


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

GET /project/{ownerAlias}/{projectAlias}/merge-request/commit?commit={commitHash}&status={mergeRequestStatus}

Запрос возвращает список запросов на слияние, в исходных или целевых ветках которых находится коммит с указанным хэшем. Кроме того есть возможность поиска по статусу запроса на слияния и настройки количества отображаемых объектов на странице

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
commitHash String Обязательный параметр. Хэш коммита, который находится в исходной или целевой ветке запроса
mergeRequestStatus String Не обязательный параметр. Статус запроса на слияния. Возможные значения: OPENED, MERGED, CLOSED, CANCELED и FAILED

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
    "localId": 1,
    "description": "test2-new",
    "title": "test2-new",
    "removeSourceBranch": true,
    "squashCommit": true,
    "assignedUsers": [],
    "reviewers": [],
    "labels": [],
    "sourceBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "status": {
        "id": "CANCELED",
        "title": "Отменен",
        "hash": null,
        "alias": null,
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "createdBy": {
        "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
        "username": "user2",
        "name": "name",
        "surname": "surname",
        "fullName": "name surname",
        "avatar": "https://gitflic.ru/static/image/avatar.jpg"
    },
    "createdAt": "2022-04-20T13:56:00.250341Z",
    "updatedAt": "2022-04-20T14:13:37.491826Z",
    "sourceProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "projectAlias": "test-project",
    "userAlias": "user2",
    "canMerge": false,
    "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null,
    "lockConflicts": null,
    "mergeCommit": null
}
    
  

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

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


Метод для создания нового запроса на слияние

POST /project/{ownerAlias}/{projectAlias}/merge-request

Запрос создает запрос на слияние

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

Request

Поддерживаемый формат JSON

Структура тела POST-запроса:

Параметр Описание
title Название запроса на слияние
description Описание запроса на слияние
sourceBranch Исходная ветка
targetBranch Целевая ветка
sourceProject Исходный проект
targetProject Целевой проект
squashCommit Выполнить слияние одним коммитом true или нет false. Необязательный параметр
removeSourceBranch Удалить исходную ветку, после того как запрос на слияние будет принят true или нет false. Необязательный параметр

Пример JSON объекта

{
    "title": "test4",
    "description": "test4",
    "sourceBranch": { "id": "new_branch" },
    "targetBranch": { "id": "master" },
    "sourceProject": { "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1" },
    "targetProject": { "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1" },
    "squashCommit": true,
    "removeSourceBranch": true
}

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
    "localId": 1,
    "description": "test2-new",
    "title": "test2-new",
    "removeSourceBranch": true,
    "squashCommit": true,
    "assignedUsers": [],
    "reviewers": [],
    "labels": [],
    "sourceBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "status": {
        "id": "CANCELED",
        "title": "Отменен",
        "hash": null,
        "alias": null,
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "createdBy": {
        "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
        "username": "user2",
        "name": "name",
        "surname": "surname",
        "fullName": "name surname",
        "avatar": "https://gitflic.ru/static/image/avatar.jpg"
    },
    "createdAt": "2022-04-20T13:56:00.250341Z",
    "updatedAt": "2022-04-20T14:13:37.491826Z",
    "sourceProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "projectAlias": "test-project",
    "userAlias": "user2",
    "canMerge": false,
    "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null,
    "lockConflicts": null,
    "mergeCommit": null
}
    
  

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

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


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

PUT /project/{ownerAlias}/{projectAlias}/merge-request

Запрос изменяет запрос на слияние

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

Request

Поддерживаемый формат JSON

Параметр Описание
id ID запроса на слияние, который необходимо отредактировать
title Название запроса на слияние
description Описание запроса на слияние
sourceBranch Исходная ветка
targetBranch Целевая ветка
sourceProject Исходный проект
targetProject Целевой проект
squashCommit Выполнить слияние одним коммитом true или нет false. Необязательный параметр
removeSourceBranch Удалить исходную ветку, после того как запрос на слияние будет принят true или нет false. Необязательный параметр

Пример JSON объекта

{
    "id" ; "d8a1e1e7-aaaa-aaaa-aaaa-3dc1a9f327b5",
    "title": "test4",
    "description": "test4",
    "sourceBranch": { "id": "new_branch" },
    "targetBranch": { "id": "master" },
    "sourceProject": { "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1" },
    "targetProject": { "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1" },
    "squashCommit": true,
    "removeSourceBranch": true
}

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
    "localId": 1,
    "description": "test4-changed",
    "title": "test4-changed",
    "removeSourceBranch": true,
    "squashCommit": true,
    "assignedUsers": [],
    "reviewers": [],
    "labels": [],
    "sourceBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetBranch": {
        "id": "new_branch",
        "title": "new_branch",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "status": {
        "id": "CANCELED",
        "title": "Отменен",
        "hash": null,
        "alias": null,
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "createdBy": {
        "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
        "username": "user2",
        "name": "name",
        "surname": "surname",
        "fullName": "name surname",
        "avatar": "https://gitflic.ru/static/image/avatar.jpg"
    },
    "createdAt": "2022-04-20T13:56:00.250341Z",
    "updatedAt": "2022-04-20T14:13:37.491826Z",
    "sourceProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "projectAlias": "test-project",
    "userAlias": "user2",
    "canMerge": false,
    "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null,
    "lockConflicts": null,
    "mergeCommit": null
}
        
    

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

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


Метод для одобрения запроса

POST /project/{ownerAlias}/{projectAlias}/merge-request/{localId}/approve

Запрос выполняет одобрение запроса на слияние от лица авторизованного пользователя. Если запрос уже был одобрен, то одобрение снимается.

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

Responses

Данный запрос возвращает уникальный параметр approved

Поле Тип Описание
approved Boolean Запрос одобрен текущим пользователем true или нет false

STATUS 200 пример JSON:

Пример ответа
    
{
    "approved": false,
    "mergeRequestModel": {
        "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
        "localId": 1,
        "description": "test4-changed",
        "title": "test4-changed",
        "removeSourceBranch": true,
        "squashCommit": true,
        "assignedUsers": [],
        "reviewers": [],
        "labels": [],
        "sourceBranch": {
            "id": "master",
            "title": "master",
            "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
            "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
            "ownerAlias": null,
            "color": null,
            "hexColor": null,
            "icon": null
        },
        "targetBranch": {
            "id": "new_branch",
            "title": "new_branch",
            "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
            "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
            "ownerAlias": null,
            "color": null,
            "hexColor": null,
            "icon": null
        },
        "status": {
            "id": "CANCELED",
            "title": "Отменен",
            "hash": null,
            "alias": null,
            "ownerAlias": null,
            "color": null,
            "hexColor": null,
            "icon": null
        },
        "createdBy": {
            "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
            "username": "user2",
            "name": "name",
            "surname": "surname",
            "fullName": "name surname",
            "avatar": "https://gitflic.ru/static/image/avatar.jpg"
        },
        "createdAt": "2022-04-20T13:56:00.250341Z",
        "updatedAt": "2022-04-20T14:13:37.491826Z",
        "sourceProject": {
            "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
            "title": "test-project",
            "hash": null,
            "alias": "test-project",
            "ownerAlias": "user2",
            "color": null,
            "hexColor": null,
            "icon": null
        },
        "targetProject": {
            "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
            "title": "test-project",
            "hash": null,
            "alias": "test-project",
            "ownerAlias": "user2",
            "color": null,
            "hexColor": null,
            "icon": null
        },
        "projectAlias": "test-project",
        "userAlias": "user2",
        "canMerge": false,
        "hasConflicts": false,
        "hasLockConflicts": null,
        "conflicts": null,
        "lockConflicts": null,
        "mergeCommit": null
    }
}
        
    

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

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


Метод для слияния запроса

POST /project/{ownerAlias}/{projectAlias}/merge-request/{localId}/merge

Запрос выполняет запрос на слияние

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
    "localId": 1,
    "description": "test4-changed",
    "title": "test4-changed",
    "removeSourceBranch": false,
    "squashCommit": false,
    "assignedUsers": [],
    "reviewers": [],
    "labels": [],
    "sourceBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetBranch": {
        "id": "new_branch",
        "title": "new_branch",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "status": {
        "id": "MERGED",
        "title": "Слит",
        "hash": null,
        "alias": null,
        "ownerAlias": null,
        "color": "success",
        "hexColor": "28A745",
        "icon": null,
        "isDeleted": false
    },
    "createdBy": {
        "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
        "username": "user2",
        "name": "name",
        "surname": "surname",
        "fullName": "name surname",
        "avatar": "https://gitflic.ru/static/image/avatar.jpg"
    },
    "createdAt": "2022-04-20T13:56:00.250341Z",
    "updatedAt": "2022-04-20T14:13:37.491826Z",
    "sourceProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "projectAlias": "test-project",
    "userAlias": "user2",
    "canMerge": false,
    "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null
    "lockConflicts": null,
    "mergeCommit": {
        "hash": "c3387bc74bb9a0aaaaaaaaaaaab2727a6ed3e835",
        "message": "Обновления",
        "shortMessage": "Обновления",
        "createdAt": "2024-09-04T09:52:50Z",
        "committerIdent": {
            "name": "adminuser",
            "avatar": "/static/image/avatar.jpg",
            "emailAddress": "adminuser@admin.local",
            "when": "2024-09-04T09:52:50Z"
        },
        "authorIdent": {
            "name": "adminuser",
            "avatar": "/static/image/avatar.jpg",
            "emailAddress": "adminuser@admin.local",
            "when": "2024-09-04T09:52:50Z"
        },
        "user": {
            "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
            "username": "adminuser",
            "name": "admin",
            "surname": "user",
            "fullName": "admin user",
            "avatar": "http://localhost:8080/upload/img/beb67ed7-aaaa-aaaa-aaaa-eb174cda4dbd.jpg"
        },
        "verificationResult": null,
        "parentCommitIds": [
            "587be46840d578aaaaaaaaaaaa85218816d18359"
        ],
        "parentCommitBranches": [
            "master"
        ]
}
        
    

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

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


Метод для закрытия запроса на слияние

POST /project/{ownerAlias}/{projectAlias}/merge-request/{localId}/close

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
    "localId": 1,
    "description": "test4-changed",
    "title": "test4-changed",
    "removeSourceBranch": false,
    "squashCommit": false,
    "assignedUsers": [],
    "reviewers": [],
    "labels": [],
    "sourceBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetBranch": {
        "id": "new_branch",
        "title": "new_branch",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "status": {
        "id": "CLOSED",
        "title": "Закрыт",
        "hash": null,
        "alias": null,
        "ownerAlias": null,
        "color": "warning",
        "hexColor": "FFC107",
        "icon": null,
        "isDeleted": false
    },
    "createdBy": {
        "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
        "username": "user2",
        "name": "name",
        "surname": "surname",
        "fullName": "name surname",
        "avatar": "https://gitflic.ru/static/image/avatar.jpg"
    },
    "createdAt": "2022-04-20T13:56:00.250341Z",
    "updatedAt": "2022-04-20T14:13:37.491826Z",
    "sourceProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "projectAlias": "test-project",
    "userAlias": "user2",
    "canMerge": false,
    "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null,
    "lockConflicts": null,
    "mergeCommit": null
}
        
    

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

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


Метод для отмены запроса на слияние

POST /project/{ownerAlias}/{projectAlias}/merge-request/{localId}/cancel

Запрос отменяет запрос на слияние

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "a306ecf4-aaaa-aaaa-aaaa-25b206b7e8b7",
    "localId": 1,
    "description": "test4-changed",
    "title": "test4-changed",
    "removeSourceBranch": false,
    "squashCommit": false,
    "assignedUsers": [],
    "reviewers": [],
    "labels": [],
    "sourceBranch": {
        "id": "master",
        "title": "master",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetBranch": {
        "id": "new_branch",
        "title": "new_branch",
        "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "alias": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
        "ownerAlias": null,
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "status": {
        "id": "CANCELED",
        "title": "Отменен",
        "hash": null,
        "alias": null,
        "ownerAlias": null,
        "color": "warning",
        "hexColor": "FFC107",
        "icon": null,
        "isDeleted": false
    },
    "createdBy": {
        "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
        "username": "user2",
        "name": "name",
        "surname": "surname",
        "fullName": "name surname",
        "avatar": "https://gitflic.ru/static/image/avatar.jpg"
    },
    "createdAt": "2022-04-20T13:56:00.250341Z",
    "updatedAt": "2022-04-20T14:13:37.491826Z",
    "sourceProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "targetProject": {
        "id": "4eeae220-aaaa-aaaa-aaaa-85ff50ee88c1",
        "title": "test-project",
        "hash": null,
        "alias": "test-project",
        "ownerAlias": "user2",
        "color": null,
        "hexColor": null,
        "icon": null
    },
    "projectAlias": "test-project",
    "userAlias": "user2",
    "canMerge": false,
    "hasConflicts": false,
    "hasLockConflicts": null,
    "conflicts": null,
    "lockConflicts": null,
    "mergeCommit": null
}
        
    

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

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