Запросы на слияние
Описание структуры 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 | Коммит, образующийся после слияния |
Описание структуры JSON-объекта, описывающего правило одобрения запроса на слияние
Ознакомиться с работой правил одобрений запросов на слияние возможно здесь.
Поле | Тип | Описание |
---|---|---|
targetBranch |
String | Целевая ветка, запроса на слияние в которую, будут следовать данному правилу одобрения |
name |
String | Название правила одобрения |
minimalApprovals |
Integer | Минимальное число ответственных, которые должны одобрить запрос на слияние |
allowedApprovers |
Array | Массив пользователей, которые являются ответсвенными в данном правиле одобрения |
uuid |
String | UUID правила одобрения |
Описание структуры JSON-объекта, описывающего ответственного в правиле одобрения запроса на слияние
Поле | Тип | Описание |
---|---|---|
id |
String | UUID запроса на слияние |
username |
String | Псевдоним пользователя |
name |
String | Имя пользователя |
surname |
String | Фамилия пользователя |
fullName |
String | Полное имя пользователя - имя и фамилия. Возвращает псевдоним, если имя и фамилия не указаны |
avatar |
String | Ссылка на аватар пользователя |
cover |
String | Ссылка на фон профиля пользователя |
Описание структуры JSON-объекта, описывающего настройки запросов на слияние
Ознакомиться с работой настроек запросов на слияние возможно здесь.
Поле | Тип | Описание |
---|---|---|
canOverrideApprovals |
Boolean | При значении true активна настройка Можно переопределять подтверждающих и подтверждения, необходимые для запроса на слияние активна |
removeApprovalsOnPush |
Boolean | При значении true активна настройка Удалить все подтверждения в запросе на слияние в момент пуша нового коммита в исходную ветку |
preventAuthorApproving |
Boolean | При значении true активна настройка Запретить одобрение запроса на слияние его автором |
preventCommitterApproving |
Boolean | При значении true активна настройка Запретить одобрение запроса его разработчиками активна |
checkCiCdStatus |
Boolean | При значении true активна настройка Проверять статус последнего конвейера при слиянии запроса активна |
mergeResultPipelineStatusCheckEnabled |
Boolean | При значении true активна настройка Проверять статус конвейера результата слияния активна |
mergeRequestPipelineStatusCheckEnabled |
Boolean | При значении true активна настройка Проверять статус конвейера слияния активна |
branchPipelineStatusCheckEnabled |
Boolean | При значении true активна настройка Проверять статус конвейера на ветку активна |
editMergedMergeRequest |
Boolean | При значении true активна настройка Разрешить редактирование слитого запроса активна |
removeApprovalsOnChangingTargetBranch |
Boolean | При значении true активна настройка Удалить все подтверждения в запросе на слияние в момент изменения целевой ветки активна |
enableRemoveSourceBranchByDefault |
Boolean | При значении true активна настройка Опция "Удаление ветки после слияния" активна по умолчанию активна |
Описание структуры JSON-объекта, описывающего шаблоны сообщений слияния
Ознакомиться с функционалов шаблонов сообщений слияния возможно здесь.
Поле | Тип | Описание |
---|---|---|
mergeCommitMessage |
String | Шаблон сообщения коммита слияния (merge commit) |
squashCommitMessage |
String | Шаблон сообщения слияния одним коммитом (squash commit) |
mergeRequestDescriptionTemplate |
String | Шаблон описания запроса на слияние |
canEditMergeCommitMessage |
Boolean | При значеении true активна опция Разрешить редактирование шаблонных сообщений при выполнении слияния |
Метод получения списка всех запросов на слияние
GET /project/{ownerAlias}/{projectAlias}/merge-request/list
Запрос возвращает массив запросов на слияние, есть возможность настройки количества отображаемых объектов на странице
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
Responses
STATUS 200
- Список запросов на слияния успешно возвращен.
Пример ответа
{
"_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
- Запрос на слияния успешно возвращен.
Пример ответа
{
"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
- Список запросов на слияния с указанным коммитом успешно возвращен.
Пример ответа
{
"_embedded": {
"mergeRequestModelList": [
{
"id": "e1e1aeab-aaaa-aaaa-aaaa-1e9e7fcebb26",
"localId": 161,
"description": "Правки ссылок",
"title": "Правки ссылок",
"removeSourceBranch": true,
"squashCommit": true,
"assignedUsers": [
{
"id": "637fcdb6-aaaa-aaaa-aaaa-1af82abc7dd6",
"username": "gitflic_user",
"name": "gitflic",
"surname": "user",
"fullName": "gitflic user",
"avatar": "https://gitflic.ru/upload/img/06e7ab2e-aaaa-aaaa-aaaa-da8f5d956c22.jpg"
}
],
"reviewers": [
{
"id": "710014c8-aaaa-aaaa-aaaa-11879e51e437",
"username": "gitflic_user",
"name": "gitflic",
"surname": "user",
"fullName": "gitflic user",
"avatar": "https://gitflic.ru/upload/img/d48d9701-aaaa-aaaa-aaaa-15e38be4fc38.jpg"
}
],
"labels": [
{
"id": "bc0e9d88-aaaa-aaaa-aaaa-07351f0c86f4",
"hexColor": "40bae2",
"title": "правки",
"description": "Исправление ошибок, опечаток",
"isTextLight": false
}
],
"sourceBranch": {
"id": "link-fix",
"title": "link-fix",
"hash": "2dde6bd80d2d9caaaaaaaaaaaa25a4f252d0f90e",
"alias": "2dde6bd80d2d9caaaaaaaaaaaa25a4f252d0f90e",
"ownerAlias": null,
"color": null,
"hexColor": null,
"icon": null,
"isDeleted": false
},
"targetBranch": {
"id": "master",
"title": "master",
"hash": "148c03a74adc0daaaaaaaaaaaaea7e27ed4aeb8b",
"alias": "148c03a74adc0daaaaaaaaaaaaea7e27ed4aeb8b",
"ownerAlias": null,
"color": null,
"hexColor": null,
"icon": null,
"isDeleted": false
},
"status": {
"id": "OPENED",
"title": "Открыт",
"hash": null,
"alias": null,
"ownerAlias": null,
"color": "info",
"hexColor": "17A2B8",
"icon": null,
"isDeleted": false
},
"createdBy": {
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "gitflic_user",
"name": "gitflic",
"surname": "user",
"fullName": "gitflic user",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg"
},
"createdAt": "2025-04-04T22:16:35.226366Z",
"updatedAt": "2025-04-04T22:16:35.226368Z",
"sourceProject": {
"id": "fb4b1d65-aaaa-aaaa-aaaa-7e76f5ebdf99",
"title": "documentation",
"hash": null,
"alias": "documentation",
"ownerAlias": "gitflic",
"color": null,
"hexColor": null,
"icon": null,
"isDeleted": false
},
"targetProject": {
"id": "fb4b1d65-aaaa-aaaa-aaaa-7e76f5ebdf99",
"title": "documentation",
"hash": null,
"alias": "documentation",
"ownerAlias": "gitflic",
"color": null,
"hexColor": null,
"icon": null,
"isDeleted": false
},
"projectAlias": "documentation",
"userAlias": "gitflic",
"canMerge": false,
"hasConflicts": false,
"hasLockConflicts": false,
"conflicts": [],
"lockConflicts": [],
"mergeCommit": null
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
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
- Запрос на слияния успешно создан.
Пример ответа
{
"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
- Запрос на слияния успешно изменен.
Пример ответа
{
"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
- Запрос на слияния успешно одобрен.
Пример ответа
{
"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 запроса на слияние |
Request
Поддерживаемый формат JSON
Параметр | Тип | Описание |
---|---|---|
commitMessage |
String | Необязательный параметр. Сообщение коммита слияния |
squashCommitMessage |
String | Необязательный параметр. Сообщение squash коммита |
Пример JSON объекта
Не используя необязательные параметры, необходимо отправлять пустое тело запроса.
{
"commitMessage": "Сообщение коммита слияния",
"squashCommitMessage": "Сообщение squash коммита"
}
STATUS 200
Запрос на слияния успешно выполнен.
Пример ответа
{
"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
- Запрос на слияния успешно закрыт.
Пример ответа
{
"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
Запрос на слияния успешно отменен.
Пример ответа
{
"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
- Данные по запросу не найдены.
Методы для настройки запросов на слияние
Метод для получения списка правил одобрений запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/approval/rule
Команды: GET /team/{teamAlias}/merge-request/approval/rule
Запрос возвращает список правил одобрений запросов на слияние указанной сущности с данным псевдонимом, есть возможность настройки количества отображаемых объектов на странице.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 200
- Список правил одобрений запросов на слияние успешно возвращено:
Пример ответа
{
"_embedded": {
"restMergeRequestApprovalRuleList": [
{
"targetBranch": "master",
"name": "master ветка",
"minimalApprovals": 2,
"allowedApprovers": [
{
"id": "1757a1b5-aaaa-aaaa-aaaa-764a60303236",
"username": "test-user",
"name": "test",
"surname": "user",
"fullName": "test-user",
"avatar": "https://gitflic.ru/upload/-/user/1757a1b5-aaaa-aaaa-aaaa-764a60303236/avatar/feede29b-aaaa-aaaa-aaaa-49ee70a42929.png",
"cover": "https://gitflic.ru/static/image/user-cover.png"
},
{
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "adminuser",
"name": "Admin",
"surname": "User",
"fullName": "Admin User",
"avatar": "https://gitflic.ru/static/image/avatar.jpg",
"cover": "https://gitflic.ru/static/image/user-cover.png"
}
],
"uuid": "51352bb5-aaaa-aaaa-aaaa-a9ea23a64d19"
},
{
"targetBranch": "develop",
"name": "develop ветка",
"minimalApprovals": 1,
"allowedApprovers": [
{
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "adminuser",
"name": "Admin",
"surname": "User",
"fullName": "Admin User",
"avatar": "https://gitflic.ru/static/image/avatar.jpg",
"cover": "https://gitflic.ru/static/image/user-cover.png"
}
],
"uuid": "06eff520-aaaa-aaaa-aaaa-94c674ab87e1"
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения правила одобрений запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/approval/rule/{approvalRuleUuid}
Команды: GET /team/{teamAlias}/merge-request/approval/rule/{approvalRuleUuid}
Запрос возвращает правило одобрений запросов на слияние указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
approvalRuleUuid |
String | UUID правила одобрений запроса на слияние |
Responses
STATUS 200
- Правило одобрений запросов на слияние успешно возвращено:
Пример ответа
{
"targetBranch": "master",
"name": "master ветка",
"minimalApprovals": 2,
"allowedApprovers": [
{
"id": "1757a1b5-aaaa-aaaa-aaaa-764a60303236",
"username": "test-user",
"name": "test",
"surname": "user",
"fullName": "test-user",
"avatar": "https://gitflic.ru/upload/-/user/1757a1b5-aaaa-aaaa-aaaa-764a60303236/avatar/feede29b-aaaa-aaaa-aaaa-49ee70a42929.png",
"cover": "https://gitflic.ru/static/image/user-cover.png"
},
{
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "adminuser",
"name": "Admin",
"surname": "User",
"fullName": "Admin User",
"avatar": "https://gitflic.ru/static/image/avatar.jpg",
"cover": "https://gitflic.ru/static/image/user-cover.png"
}
],
"uuid": "51352bb5-aaaa-aaaa-aaaa-a9ea23a64d19"
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для создания правила одобрений запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: POST /company/{companyAlias}/merge-request/approval/rule/create
Команды: POST /team/{teamAlias}/merge-request/approval/rule/create
Запрос создает и возвращает правило одобрений запросов на слияние указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Поле | Тип | Описание |
---|---|---|
targetBranch |
String | Целевая ветка, запроса на слияние в которую, будут следовать данному правилу одобрений |
name |
String | Название правила одобрений |
minimalApprovals |
Integer | Минимальное число ответственных, которые должны одобрить запрос на слияние. Данное число не должно превышать число пользователей в поле allowedApproversUuid |
allowedApproversUuid |
Array | Массив UUID пользователей, которые должны быть ответственными в данном правиле одобрений |
Пример JSON объекта
{
"targetBranch": "master",
"name": "master ветка",
"minimalApprovals": "2",
"allowedApproversUuid": ["1757a1b5-aaaa-aaaa-aaaa-764a60303236", "6736240a-aaaa-aaaa-aaaa-cab026562172"]
}
Responses
STATUS 200
- Правило одобрений запросов на слияние успешно создано:
Пример ответа
{
"targetBranch": "master",
"name": "master ветка",
"minimalApprovals": 2,
"allowedApprovers": [
{
"id": "1757a1b5-aaaa-aaaa-aaaa-764a60303236",
"username": "test-user",
"name": "test",
"surname": "user",
"fullName": "test-user",
"avatar": "https://gitflic.ru/upload/-/user/1757a1b5-aaaa-aaaa-aaaa-764a60303236/avatar/feede29b-aaaa-aaaa-aaaa-49ee70a42929.png",
"cover": "https://gitflic.ru/static/image/user-cover.png"
},
{
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "adminuser",
"name": "Admin",
"surname": "User",
"fullName": "Admin User",
"avatar": "https://gitflic.ru/static/image/avatar.jpg",
"cover": "https://gitflic.ru/static/image/user-cover.png"
}
],
"uuid": "51352bb5-aaaa-aaaa-aaaa-a9ea23a64d19"
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
STATUS 422
- В теле запроса не указано обязательно поле.
Метод для изменения правила одобрений запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: PATCH /company/{companyAlias}/merge-request/approval/rule/edit
Команды: PATCH /team/{teamAlias}/merge-request/approval/rule/edit
Запрос изменяет и возвращает правило одобрений запросов на слияние указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Request
Поддерживаемый формат JSON
Структура тела PATCH-запроса:
Поле | Тип | Описание |
---|---|---|
uuid |
String | Обязательное поле. UUID правила одобрения запроса на слияние, которое необходимо изменить |
targetBranch |
String | Целевая ветка, запроса на слияние в которую, будут следовать данному правилу одобрений |
name |
String | Название правила одобрений |
minimalApprovals |
Integer | Минимальное число ответственных, которые должны одобрить запрос на слияние. Данное число не должно превышать число пользователей в поле allowedApproversUuid |
allowedApproversUuid |
Array | Массив UUID пользователей, которые должны быть ответственными в данном правиле одобрений |
Пример JSON объекта
{
"targetBranch": "master",
"name": "master ветка",
"minimalApprovals": "2",
"allowedApproversUuid": ["1757a1b5-aaaa-aaaa-aaaa-764a60303236", "6736240a-aaaa-aaaa-aaaa-cab026562172"]
}
Responses
STATUS 200
- Правило одобрений запросов на слияние успешно создано:
Пример ответа
{
"targetBranch": "master",
"name": "master ветка",
"minimalApprovals": 2,
"allowedApprovers": [
{
"id": "1757a1b5-aaaa-aaaa-aaaa-764a60303236",
"username": "test-user",
"name": "test",
"surname": "user",
"fullName": "test-user",
"avatar": "https://gitflic.ru/upload/-/user/1757a1b5-aaaa-aaaa-aaaa-764a60303236/avatar/feede29b-aaaa-aaaa-aaaa-49ee70a42929.png",
"cover": "https://gitflic.ru/static/image/user-cover.png"
},
{
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "adminuser",
"name": "Admin",
"surname": "User",
"fullName": "Admin User",
"avatar": "https://gitflic.ru/static/image/avatar.jpg",
"cover": "https://gitflic.ru/static/image/user-cover.png"
}
],
"uuid": "51352bb5-aaaa-aaaa-aaaa-a9ea23a64d19"
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
STATUS 422
- В теле запроса не указано обязательное поле.
Метод для удаления правила одобрений запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: DELETE /company/{companyAlias}/merge-request/approval/rule/{approvalRuleUuid}
Команды: DELETE /team/{teamAlias}/merge-request/approval/rule/{approvalRuleUuid}
Запрос удаляет правило одобрений запросов на слияние указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 204
- Правило одобрений запросов на слияние успешно возвращено:
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения списка настроек запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/approval/configuration
Команды: GET /team/{teamAlias}/merge-request/approval/configuration
Запрос возвращает список настроек запросов на слияние указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 200
- Настройки запросов на слияние успешно возвращены:
Пример ответа
{
"canOverrideApprovals": true,
"preventAuthorApproving": true,
"preventCommitterApproving": true,
"requirePasswordToApprove": false,
"removeApprovalsOnPush": true,
"checkCiCdStatus": true,
"editMergedMergeRequest": true,
"enableRemoveSourceBranchByDefault": true,
"removeApprovalsOnChangingTargetBranch": true,
"branchPipelineStatusCheckEnabled": true,
"mergeRequestPipelineStatusCheckEnabled": true,
"mergeResultPipelineStatusCheckEnabled": true
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для изменения настроек запросов на слияние
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: PATCH /company/{companyAlias}/merge-request/approval/configuration/edit
Команды: PATCH /team/{teamAlias}/merge-request/approval/configuration/edit
Запрос изменяет настройки запросов на слияние указанной сущности с данным псевдонимом и возвращает их.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Request
Поддерживаемый формат JSON
Структура тела PATCH-запроса:
Поле | Тип | Описание |
---|---|---|
canOverrideApprovals |
Boolean | При значении true активна настройка Можно переопределять подтверждающих и подтверждения, необходимые для запроса на слияние активна |
removeApprovalsOnPush |
Boolean | При значении true активна настройка Удалить все подтверждения в запросе на слияние в момент пуша нового коммита в исходную ветку |
preventAuthorApproving |
Boolean | При значении true активна настройка Запретить одобрение запроса на слияние его автором |
preventCommitterApproving |
Boolean | При значении true активна настройка Запретить одобрение запроса его разработчиками активна |
checkCiCdStatus |
Boolean | При значении true активна настройка Проверять статус последнего конвейера при слиянии запроса активна |
mergeResultPipelineStatusCheckEnabled |
Boolean | При значении true активна настройка Проверять статус конвейера результата слияния активна |
mergeRequestPipelineStatusCheckEnabled |
Boolean | При значении true активна настройка Проверять статус конвейера слияния активна |
branchPipelineStatusCheckEnabled |
Boolean | При значении true активна настройка Проверять статус конвейера на ветку активна |
editMergedMergeRequest |
Boolean | При значении true активна настройка Разрешить редактирование слитого запроса активна |
removeApprovalsOnChangingTargetBranch |
Boolean | При значении true активна настройка Удалить все подтверждения в запросе на слияние в момент изменения целевой ветки активна |
enableRemoveSourceBranchByDefault |
Boolean | При значении true активна настройка Опция "Удаление ветки после слияния" активна по умолчанию активна |
Пример JSON объекта
{
"canOverrideApprovals": true,
"preventAuthorApproving": true,
"preventCommitterApproving": true,
"requirePasswordToApprove": false,
"removeApprovalsOnPush": true,
"checkCiCdStatus": true,
"editMergedMergeRequest": true,
"enableRemoveSourceBranchByDefault": true,
"removeApprovalsOnChangingTargetBranch": true,
"branchPipelineStatusCheckEnabled": true,
"mergeRequestPipelineStatusCheckEnabled": true,
"mergeResultPipelineStatusCheckEnabled": true
}
Responses
STATUS 200
- Настройки запросов на слияние успешно изменены:
Пример ответа
{
"canOverrideApprovals": true,
"preventAuthorApproving": true,
"preventCommitterApproving": true,
"requirePasswordToApprove": false,
"removeApprovalsOnPush": true,
"checkCiCdStatus": true,
"editMergedMergeRequest": true,
"enableRemoveSourceBranchByDefault": true,
"removeApprovalsOnChangingTargetBranch": true,
"branchPipelineStatusCheckEnabled": true,
"mergeRequestPipelineStatusCheckEnabled": true,
"mergeResultPipelineStatusCheckEnabled": true
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения правила слияния одним коммитом
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/merge-request-squash
Команды: GET /team/{teamAlias}/merge-request/merge-request-squash
Запрос возвращает значение правила слияния одним коммитом указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 200
- Правило слияния одним коммитов возвращено.
Ответ | Слияние одним коммитом | Описание правила слияния одним коммитов |
---|---|---|
DO_NOT_ALLOW |
Запрещено | Слияние одним коммитом будет недоступно, чекбокс для выбора скрыт. |
ALLOW |
Разрешено | Слияние одним коммитом доступно, чекбокс для выбора видимый и не выбран по умолчанию. |
ENCOURAGE |
Рекомендовано | Слияние одним коммитом доступно, чекбокс для выбора видимый и выбран по умолчанию. |
REQUIRE |
Обязательно | Слияние одним коммитом доступно, чекбокс для выбора видимый и выбран всегда, без возможности выключения. |
Пример ответа
"REQUIRE"
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для изменения правила слияния одним коммитом
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/merge-request-squash/edit
Команды: GET /team/{teamAlias}/merge-request/merge-request-squash/edit
Запрос изменяет значение правила слияния одним коммитом указанной сущности с данным псевдонимом и возвращает его.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Поле | Тип | Описание |
---|---|---|
mergeRequestSquashSetting |
String | Значение правила слияния одним коммитом. Возможные значения указаны в таблице ниже |
Ответ | Слияние одним коммитом | Описание правила слияния одним коммитов |
---|---|---|
DO_NOT_ALLOW |
Запрещено | Слияние одним коммитом будет недоступно, чекбокс для выбора скрыт. |
ALLOW |
Разрешено | Слияние одним коммитом доступно, чекбокс для выбора видимый и не выбран по умолчанию. |
ENCOURAGE |
Рекомендовано | Слияние одним коммитом доступно, чекбокс для выбора видимый и выбран по умолчанию. |
REQUIRE |
Обязательно | Слияние одним коммитом доступно, чекбокс для выбора видимый и выбран всегда, без возможности выключения. |
Пример JSON объекта
{
"mergeRequestSquashSetting": "REQUIRE"
}
Responses
STATUS 200
- Правило слияния одним коммитов изменено.
Пример ответа
"REQUIRE"
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
STATUS 422
- В теле запроса не указано поле mergeRequestSquashSetting
или указано не верное значение данного поля.
Метод для получения метода слияния
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/merge-request-method-type
Команды: GET /team/{teamAlias}/merge-request/merge-request-method-type
Запрос возвращает метод слияния указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 200
- Метод слияния возвращено.
Ответ | Метод слияния | Описание метода слияния |
---|---|---|
MERGE_COMMIT |
Merge Commit | Каждое слияние создает коммит слияния. |
MERGE_COMMIT_WITH_SEMI_LINEAR_HISTORY |
Semi-Linear history | Каждое слияние создает коммит слияния. Если слияние невозможно из-за неактуальности исходной ветки по отношению к целевой, будет предложено перебазировать исходную ветку на целевую. |
FAST_FORWARD_MERGE |
Fast-Forward | Коммит слияния не будет создан. Если слияние невозможно из-за неактуальности исходной ветки по отношению к целевой, будет предложено перебазировать исходную ветку на целевую. |
Пример ответа
"MERGE_COMMIT"
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для изменения метода слияния
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/merge-request-method-type/edit
Команды: GET /team/{teamAlias}/merge-request/merge-request-method-type/edit
Запрос изменяет метод слияния указанной сущности с данным псевдонимом и возвращает его.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Поле | Тип | Описание |
---|---|---|
mergedRequestMethodType |
String | Выбранный метод слияния. Возможные значения указаны в таблице ниже |
Ответ | Метод слияния | Описание метода слияния |
---|---|---|
MERGE_COMMIT |
Merge Commit | Каждое слияние создает коммит слияния. |
MERGE_COMMIT_WITH_SEMI_LINEAR_HISTORY |
Semi-Linear history | Каждое слияние создает коммит слияния. Если слияние невозможно из-за неактуальности исходной ветки по отношению к целевой, будет предложено перебазировать исходную ветку на целевую. |
FAST_FORWARD_MERGE |
Fast-Forward | Коммит слияния не будет создан. Если слияние невозможно из-за неактуальности исходной ветки по отношению к целевой, будет предложено перебазировать исходную ветку на целевую. |
Пример JSON объекта
{
"mergedRequestMethodType": "MERGE_COMMIT"
}
Responses
STATUS 200
- Метод слияния возвращено.
Пример ответа
"MERGE_COMMIT"
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
STATUS 422
- В теле запроса не указано поле mergedRequestMethodType
или указано не верное значение данного поля.
Метод для получения шаблонов сообщений слияния
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/merge-request-template
Команды: GET /team/{teamAlias}/merge-request/merge-request-template
Запрос возвращает шаблоны сообщений слияния указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 200
- Шаблоны сообщений слияния возвращены.
Пример ответа
{
"mergeCommitMessage": "Сообщение для merge commit",
"squashCommitMessage": "Сообщение для squash commit",
"mergeRequestDescriptionTemplate": "Стандартный текст для описания запроса на слияние",
"canEditMergeCommitMessage": true
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для изменения шаблонов сообщений слияния
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: GET /company/{companyAlias}/merge-request/merge-request-template/edit
Команды: GET /team/{teamAlias}/merge-request/merge-request-template/edit
Запрос изменяет шаблоны сообщений слияния указанной сущности с данным псевдонимом и возвращает их.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Поле | Тип | Описание |
---|---|---|
mergeCommitMessage |
String | Шаблон сообщения коммита слияния (merge commit) |
squashCommitMessage |
String | Шаблон сообщения слияния одним коммитом (squash commit) |
mergeRequestDescriptionTemplate |
String | Шаблон описания запроса на слияние |
canEditMergeCommitMessage |
Boolean | При значении true активна опция Разрешить редактирование шаблонных сообщений при выполнении слияния |
Пример JSON объекта
{
"mergeCommitMessage": "Сообщение для merge commit",
"squashCommitMessage": "Сообщение для squash commit",
"mergeRequestDescriptionTemplate": "Стандартный текст для описания запроса на слияние",
"canEditMergeCommitMessage": true
}
Responses
STATUS 200
- Шаблоны сообщений слияния изменены и возвращены.
Пример ответа
{
"mergeCommitMessage": "Сообщение для merge commit",
"squashCommitMessage": "Сообщение для squash commit",
"mergeRequestDescriptionTemplate": "Стандартный текст для описания запроса на слияние",
"canEditMergeCommitMessage": true
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для применения настроек запросов на слияния к проектам
Метод доступен в Enterprise версии, а также на gitflic.ru
Компании: POST /company/{companyAlias}/merge-request/apply-settings-to-projects
Команды: POST /team/{teamAlias}/merge-request/apply-settings-to-projects
Запрос применяет настройки запросов на слияния ко всем проектам указанной сущности с данным псевдонимом.
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
teamAlias |
String | Псевдоним команды |
Responses
STATUS 204
- Правила защиты окружений применены ко всем дочерним проектам:
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.