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

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

Для взаимодействия с запросами на слияние определен объект mergeRequestService

Сущность запрос на слияние содержит в себе следующие данные:

class MergeRequest {...}
Название Тип данных Описание
id string UUID запроса на слияние
localId number Локальный номер запроса на слияние
authorId string UUID автора запроса на слияние
targetProjectId string UUID целевого проекта запроса на слияние
targetBranch string Целевая ветка запроса на слияние
targetCommit string Хеш целевого коммита запроса на слияние
sourceProjectId string UUID исходного проекта запроса на слияние
sourceBranch string Исходная ветка запроса на слияние
sourceCommit string Хеш исходного коммита запроса на слияние
title string Заголовок запроса на слияние
description string Описание запроса на слияние
removeSourceBranch boolean Удалить исходную ветку после слияния true или нет false
squashCommit boolean Выполнить слияние одним коммитом true или нет false
status string Статус запроса на слияние. Возможные значения: OPENED, MERGED, FAILED, CONFLICT, CANCELED, CLOSED, FAST_FORWARD_MERGED, TRAINS_CAR_CONFLICT и TRAINS_CAR_CREATED
mergeCommit string Хеш коммита слияния
workInProgress boolean Запрос заблокирован true или нет false
workInProgressReason string Причина блокировки запроса на слияние

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

Для работы с сущностью запрос на слияние существуют следующие методы:

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

mergeRequestService.create(toCreate: MergeRequest) => MergeRequest

Метод создает запрос на слияние и возвращает его. Необходимо передать следующие значения в методе

Название Тип данных Описание
targetProjectId string UUID целевого проекта запроса на слияние
sourceProjectId string UUID исходного проекта запроса на слияние
targetBranch string Целевая ветка запроса на слияние
sourceBranch string Исходная ветка запроса на слияние
title string Заголовок запроса на слияние
description string Описание запроса на слияние
removeSourceBranch boolean Необязательный параметр. Удалить исходную ветку после слияния true или нет false - по умолчанию
squashCommit boolean Необязательный параметр. Выполнить слияние одним коммитом true или нет false - по умолчанию
workInProgress boolean Необязательный параметр. Запрос заблокирован true или нет false - по умолчанию
workInProgressReason string Необязательный параметр. Причина блокировки запроса на слияние

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

mergeRequestService.edit(toEdit: MergeRequest) => MergeRequest

Метод изменяет запрос на слияние и возвращает его. Необходимо передать следующие значения в методе

Название Тип данных Описание
id string UUID запроса на слияние
targetBranch string Необязательный параметр. Целевая ветка запроса на слияние
sourceBranch string Необязательный параметр. Исходная ветка запроса на слияние
title string Необязательный параметр. Заголовок запроса на слияние
description string Необязательный параметр. Описание запроса на слияние
removeSourceBranch boolean Необязательный параметр. Удалить исходную ветку после слияния true или нет false
squashCommit boolean Необязательный параметр. Выполнить слияние одним коммитом true или нет false
workInProgress boolean Необязательный параметр. Запрос заблокирован true или нет false
workInProgressReason string Необязательный параметр. Причина блокировки запроса на слияние

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

mergeRequestService.editStatus({mergeRequestId}, {newStatus}) => MergeRequest

Метод изменяет статус и возвращает запрос на слияние. Необходимо передать следующие значения в методе

Название Тип данных Описание
mergeRequestId string UUID запроса на слияние, в котором будет изменен статус
newStatus string Новый статус. Возможные значения: OPENED, MERGED, FAILED, CONFLICT, CANCELED, CLOSED, FAST_FORWARD_MERGED, TRAINS_CAR_CONFLICT и TRAINS_CAR_CREATED

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

mergeRequestService.findAllBySourceProject({projectId}, {startPage}, {pageSize}) => Page<MergeRequest>

Метод возвращает объект с запросами на слияние, в которых указанный проект указан в качества исходного. Необходимо передать следующие значения в методе

Название Тип данных Описание
projectId string UUID исходного проекта
startPage number Номер запрашиваемой страницы
pageSize number Размер страницы

Получение списка запросов на слияние по целевому проекту

mergeRequestService.findAllByTargetProject({projectId}, {startPage}, {pageSize}) => Page<MergeRequest>

Метод возвращает обект с запросами на слияние, в которых указанный проект указан в качества целевого. Необходимо передать следующие значения в методе

Название Тип данных Описание
projectId string UUID целевого проекта
startPage number Номер запрашиваемой страницы
pageSize number Размер страницы

Поиск запроса на слияние по UUID

mergeRequestService.findById({id}) => MergeRequest

Метод возвращает запрос на слияние по указанному UUID. Необходимо передать следующие значения в методе

Название Тип данных Описание
id string UUID запроса на слияние

Поиск запроса на слияние по локальному номеру

mergeRequestService.findByLocalId({localId}, {projectId}) => MergeRequest

Метод возвращает запрос на слияние с указанным номером в проекте. Необходимо передать следующие значения в методе

Для получения запроса на слияние, который создан из форка, необходимо указать uuid форка в поле projectId

Название Тип данных Описание
localId number Локальный номер запроса на слияние
projectId string UUID проекта, в котором будет осуществлен поиск

Проверка существования запроса на слияние

mergeRequestService.exists({sourceProjectUuid}, {sourceBranch}, {targetProjectUuid}, {targetBranch}) => boolean

Метод возвращает true если запрос на слияние существует и false, если нет. Необходимо передать следующие значения в методе

Название Тип данных Описание
sourceProjectUuid string UUID исходного проекта
sourceBranch string Исходная ветка
targetProjectUuid string UUID целевого проекта
targetBranch string Целевая ветка

Проверка возможности слить запрос на слияние

mergeRequestService.canMerge({id}) => boolean

Метод возвращает true если запрос на слияние можно слить и false, если нет. Необходимо передать следующие значения в методе

Название Тип данных Описание
id string UUID запроса на слияние