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

Группы


Описание структур JSON-объектов

Структура описывающая "Группу"

Поле Тип Описание
id String Уникальный UUID группы
alias String Псевдоним группы
title String Название группы
description String Описание группы
fullTraversalPath String Полный путь группы, например owner/group/subgroup
ownerAlias String Псевдоним владельца группы
ownerAliasType String Тип владельца группы: USER или GROUP
isPrivate Boolean Приватность группы

Структура описывающая "Правило одобрения запросов на слияние"

Поле Тип Описание
uuid String Уникальный UUID правила
name String Название правила
branchType String Тип ветки
targetBranch String Целевая ветка. Обязательна при branchType = DEFAULT
minimalApprovals Integer Минимальное количество одобрений
allowedApproversUuid Array(String) UUID пользователей, которые могут одобрять запросы на слияние

Структура описывающая "Тип ветки для правила одобрения"

Значение Описание
ALL_BRANCHES Все ветки
ALL_PROTECTED_BRANCHES Все защищенные ветки
DEFAULT Ветка по умолчанию или targetBranch

Структура описывающая "Настройку squash для запросов на слияние"

Значение Описание
REQUIRE Squash обязателен
ENCOURAGE Squash рекомендуется
ALLOW Squash разрешен
DO_NOT_ALLOW Squash запрещен

Структура описывающая "Метод слияния"

Значение Описание
MERGE_COMMIT Создание merge-коммита
MERGE_COMMIT_WITH_SEMI_LINEAR_HISTORY Merge-коммит с полулинейной историей
FAST_FORWARD_MERGE Fast-forward слияние
REBASE Слияние через rebase

Структура описывающая "Шаблоны сообщений запросов на слияние"

Поле Тип Описание
mergeCommitMessage String Шаблон сообщения merge-коммита
squashCommitMessage String Шаблон сообщения squash-коммита
mergeRequestDescriptionTemplate String Шаблон описания запроса на слияние
canEditMergeCommitMessage Boolean Разрешено ли редактировать сообщение merge-коммита

Структура описывающая "Настройки подтверждения запросов на слияние"

Поле Тип Описание
canOverrideApprovals Boolean Разрешить переопределять настройки одобрения на уровне проекта
preventAuthorApproving Boolean Запретить автору запроса одобрять его
preventCommitterApproving Boolean Запретить коммитеру одобрять запрос
removeApprovalsOnPush Boolean Сбрасывать одобрения при новом push
checkCiCdStatus Boolean Учитывать статус CI/CD при слиянии
mergeRequestPipelineStatusCheckEnabled Boolean Проверять статус конвейера запроса на слияние
branchPipelineStatusCheckEnabled Boolean Проверять статус конвейера ветки
mergeResultPipelineStatusCheckEnabled Boolean Проверять статус конвейера результата слияния
editMergedMergeRequest Boolean Разрешить редактирование слитого запроса на слияние
enableRemoveSourceBranchByDefault Boolean Удалять исходную ветку по умолчанию
removeApprovalsOnChangingTargetBranch Boolean Сбрасывать одобрения при смене целевой ветки

Структура описывающая "Переменную CI/CD"

Поле Тип Описание
id String Уникальный UUID переменной
key String Имя переменной
value String Значение переменной
mask Boolean Маскировать ли значение переменной в логах
variableType String Тип переменной: VARIABLE_TYPE или FILE_TYPE
environmentScope String Окружение, к которому применяется переменная

Структура описывающая "Настройки времени жизни конвейеров"

Поле Тип Описание
lifetime Integer Время жизни конвейера. Значение должно быть > 0
enabled Boolean Включено ли ограничение времени жизни

Структура описывающая "Агент группы"

Поле Тип Описание
id String Уникальный UUID агента
name String Название агента
description String Описание агента
tags Array(String) Теги агента
ownerType String Тип владельца агента, для группы — GROUP

Структура описывающая "Правило защиты веток"

Поле Тип Описание
id String Уникальный UUID правила
branchTemplate String Шаблон имени ветки, к которой применяется защита
allowedToPush String Уровень доступа для редактирования файлов в ветке
allowedToMerge String Уровень доступа для слияния в ветку
allowForcePush Boolean Разрешен ли push --force
codeOwnerApprovalRequired Boolean Требуется ли одобрение владельцев кода
autoMergeByDefault Boolean Включать ли автослияние по умолчанию
priority Integer Приоритет правила

Структура описывающая "Уровень доступа"

Значение Описание
NO_ONE Никому
ADMINS Администраторам
DEVELOPER Разработчикам и выше

Структура описывающая "Правило защиты тегов"

Поле Тип Описание
uuid String Уникальный UUID правила
tagTemplate String Шаблон имени тега, к которому применяется защита
allowToCreate String Уровень доступа для создания тегов

Структура описывающая "Роль участника группы"

Значение Описание
GUEST Гость
REPORTER Наблюдатель
DEVELOPER Разработчик
ADMIN Администратор

Методы для групп

Ознакомиться с функционалом групп можно здесь

Получение списка всех групп

GET /group

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

Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице
sort String Сортировка в формате поле,направление, например title,asc

Responses

STATUS 200 - Список групп успешно возвращен.

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


Получение списка всех моих групп

GET /group/my

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

Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице

Responses

STATUS 200 - Список групп успешно возвращен.

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


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

GET /group/shared

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

Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице

Responses

STATUS 200 - Список групп успешно возвращен.

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


Создание группы

POST /group

Запрос создает группу или подгруппу и возвращает ее

Для создания подгруппы в поле ownerAlias указывается полный путь родительской группы, а в поле ownerAliasType — значение GROUP

Request

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

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

Параметр Тип Описание
ownerAlias String Псевдоним владельца: имя пользователя при ownerAliasType = USER или полный путь группы при GROUP (обязательный параметр)
ownerAliasType String Тип владельца: USER или GROUP (обязательный параметр)
alias String Псевдоним группы (обязательный параметр)
title String Название группы (обязательный параметр)
description String Описание группы
isPrivate Boolean Приватность группы. По умолчанию true

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

{
    "ownerAlias": "USER",
    "ownerAliasType": "USER",
    "alias": "g-new",
    "title": "Новая группа",
    "description": "",
    "isPrivate": true
}

Responses

STATUS 200 - Группа успешно создана и возвращена. Поле fullTraversalPath содержит полный путь созданной группы.

STATUS 400 - Некорректные параметры запроса.

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

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


Получение группы по ее полному пути

GET /group/{groupPath}/-/overview

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Группа успешно возвращена.

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

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


Передача группы

POST /group/transfer

Запрос передает группу другому владельцу. Новый полный путь группы возвращается в поле fullTraversalPath

Request

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

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

Параметр Тип Описание
ownerAlias String Имя пользователя или полный путь группы, которой передается группа (обязательный параметр)
groupAlias String Полный путь передаваемой группы (обязательный параметр)

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

{
    "ownerAlias": "USER",
    "groupAlias": "owner/group/subgroup"
}

Responses

STATUS 200 - Группа успешно передана. Поле fullTraversalPath содержит новый полный путь группы.

STATUS 400 - Некорректные параметры запроса.

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

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


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

Методы раздела доступны только для корневой группы.

Получение настроек импорта группы

GET /group/{groupPath}/-/setting/import

Запрос возвращает настройки импорта группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Настройки импорта группы успешно возвращены.

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

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


Изменение настроек импорта группы

POST /group/{groupPath}/-/setting/import

Запрос изменяет настройки импорта группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
allowImportBranchProtection Boolean Разрешить импорт правил защиты веток
allowImportEnvironmentProtection Boolean Разрешить импорт правил защиты окружений
allowImportTagProtection Boolean Разрешить импорт правил защиты тегов
allowImportMrApprovalConfigAndRules Boolean Разрешить импорт настроек и правил одобрения запросов на слияние
allowImportPipelineLifetimeSetting Boolean Разрешить импорт настроек времени жизни конвейеров

Все параметры запроса необязательные.

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

{
    "allowImportBranchProtection": true
}

Responses

STATUS 200 - Настройки импорта группы успешно изменены.

STATUS 400 - Некорректные параметры запроса.

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

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


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

Методы раздела доступны только для корневой группы.

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

POST /group/{groupPath}/-/merge-request/approval/rule/create

Запрос создает правило одобрения запросов на слияние и возвращает его

Согласующим может быть только участник группы.

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
name String Название правила (обязательный параметр)
branchType String Тип ветки (обязательный параметр)
targetBranch String Целевая ветка. Обязателен при branchType = DEFAULT
minimalApprovals Integer Минимальное количество одобрений (обязательный параметр)
allowedApproversUuid Array(String) UUID пользователей, которые могут одобрять запрос (обязательный параметр)

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

{
    "name": "rule-1",
    "branchType": "ALL_BRANCHES",
    "minimalApprovals": 1,
    "allowedApproversUuid": [
        "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
    ]
}

Responses

STATUS 200 - Правило одобрения успешно создано и возвращено.

STATUS 400 - Некорректные параметры запроса.

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

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


Получение списка правил одобрения

GET /group/{groupPath}/-/merge-request/approval/rule

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице
sort String Сортировка в формате поле,направление, например name,asc

Responses

STATUS 200 - Список правил одобрения успешно возвращен.

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

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


Получение правила одобрения по UUID

GET /group/{groupPath}/-/merge-request/approval/rule/{approvalRuleUuid}

Запрос возвращает правило одобрения по его UUID

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
approvalRuleUuid String UUID правила одобрения

Responses

STATUS 200 - Правило одобрения успешно возвращено.

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

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


Изменение правила одобрения

PATCH /group/{groupPath}/-/merge-request/approval/rule/edit

Запрос изменяет правило одобрения запросов на слияние по его UUID и возвращает его

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
uuid String UUID правила (обязательный параметр)
name String Новое название правила
targetBranch String Новая целевая ветка
branchType String Новый тип ветки
minimalApprovals Integer Новое минимальное количество одобрений
allowedApproversUuid Array(String) Новый список UUID пользователей, которые могут одобрять запрос

Все параметры, кроме uuid, необязательные.

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

{
    "uuid": "5a4b4b4e-aaaa-aaaa-aaaa-2d0c7e0f3f11",
    "name": "rule-edited"
}

Responses

STATUS 200 - Правило одобрения успешно изменено и возвращено.

STATUS 400 - Некорректные параметры запроса.

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

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


Удаление правила одобрения запросов на слияние

DELETE /group/{groupPath}/-/merge-request/approval/rule/{approvalRuleUuid}

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
approvalRuleUuid String UUID правила одобрения

Responses

STATUS 200 - Правило одобрения успешно удалено.

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

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


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

GET /group/{groupPath}/-/merge-request/merge-request-squash

Запрос возвращает настройку squash для запросов на слияние

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Настройка squash успешно возвращена.

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

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


Изменение настройки squash для запросов на слияние

PATCH /group/{groupPath}/-/merge-request/merge-request-squash/edit

Запрос изменяет настройку squash для запросов на слияние

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
mergeRequestSquashSetting String Настройка squash (обязательный параметр)

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

{
    "mergeRequestSquashSetting": "REQUIRE"
}

Responses

STATUS 200 - Настройка squash успешно изменена.

STATUS 400 - Некорректные параметры запроса.

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

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


Получение метода слияния

GET /group/{groupPath}/-/merge-request/merge-request-method-type

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Метод слияния успешно возвращен.

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

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


Изменение метода слияния

PATCH /group/{groupPath}/-/merge-request/merge-request-method-type/edit

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
mergedRequestMethodType String Метод слияния (обязательный параметр)

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

{
    "mergedRequestMethodType": "FAST_FORWARD_MERGE"
}

Responses

STATUS 200 - Метод слияния успешно изменен.

STATUS 400 - Некорректные параметры запроса.

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

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


Получение шаблонов сообщений запросов на слияние

GET /group/{groupPath}/-/merge-request/merge-request-template

Запрос возвращает шаблоны сообщений запросов на слияние

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Шаблоны сообщений успешно возвращены.

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

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


Изменение шаблонов сообщений запросов на слияние

PATCH /group/{groupPath}/-/merge-request/merge-request-template/edit

Запрос изменяет шаблоны сообщений запросов на слияние

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
mergeCommitMessage String Шаблон сообщения merge-коммита
squashCommitMessage String Шаблон сообщения squash-коммита
mergeRequestDescriptionTemplate String Шаблон описания запроса на слияние
canEditMergeCommitMessage Boolean Разрешено ли редактировать сообщение merge-коммита

Все параметры запроса необязательные. В шаблонах поддерживаются подстановки %{source_branch} и %{target_branch}.

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

{
    "mergeCommitMessage": "Merge '%{source_branch}' into '%{target_branch}'"
}

Responses

STATUS 200 - Шаблоны сообщений успешно изменены.

STATUS 400 - Некорректные параметры запроса.

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

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


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

GET /group/{groupPath}/-/merge-request/approval/configuration

Запрос возвращает настройки подтверждения запросов на слияние

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Настройки подтверждения успешно возвращены.

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

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


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

PATCH /group/{groupPath}/-/merge-request/approval/configuration/edit

Запрос изменяет настройки подтверждения запросов на слияние

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
canOverrideApprovals Boolean Разрешить переопределять настройки одобрения на уровне проекта
preventAuthorApproving Boolean Запретить автору запроса одобрять его
preventCommitterApproving Boolean Запретить коммитеру одобрять запрос
removeApprovalsOnPush Boolean Сбрасывать одобрения при новом push
checkCiCdStatus Boolean Учитывать статус CI/CD при слиянии
mergeRequestPipelineStatusCheckEnabled Boolean Проверять статус конвейера запроса на слияние
branchPipelineStatusCheckEnabled Boolean Проверять статус конвейера ветки
mergeResultPipelineStatusCheckEnabled Boolean Проверять статус конвейера результата слияния
editMergedMergeRequest Boolean Разрешить редактирование слитого запроса на слияние
enableRemoveSourceBranchByDefault Boolean Удалять исходную ветку по умолчанию
removeApprovalsOnChangingTargetBranch Boolean Сбрасывать одобрения при смене целевой ветки

Все параметры запроса необязательные.

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

{
    "checkCiCdStatus": true
}

Responses

STATUS 200 - Настройки подтверждения успешно изменены.

STATUS 400 - Некорректные параметры запроса.

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

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


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

POST /group/{groupPath}/-/merge-request/apply-settings-to-projects

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Настройки запросов на слияние успешно применены к проектам группы.

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

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

Методы для CI/CD

Создание переменных ci/cd

POST /group/{groupPath}/-/cicd/variable

Запрос создает переменные CI/CD группы и возвращает их

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
ciCdVariablesToAdd Array(CiCdVariable) Список переменных для создания (обязательный параметр)

Поля переменной:

Параметр Тип Описание
key String Имя переменной (обязательный параметр)
value String Значение переменной (обязательный параметр)
mask Boolean Маскировать ли значение переменной в логах. По умолчанию false
variableType String Тип переменной: VARIABLE_TYPE (по умолчанию) или FILE_TYPE
environmentScope String Окружение, к которому применяется переменная

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

{
    "ciCdVariablesToAdd": [
        {
            "key": "VAR_1",
            "value": "1"
        }
    ]
}

Responses

STATUS 200 - Переменные CI/CD успешно созданы и возвращены.

STATUS 400 - Некорректные параметры запроса.

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

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


Получение списка переменных ci/cd

GET /group/{groupPath}/-/cicd/variable

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице
sort String Сортировка в формате поле,направление, например key,asc

Responses

STATUS 200 - Список переменных CI/CD успешно возвращен.

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

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


Изменение переменных ci/cd

PUT /group/{groupPath}/-/cicd/variable

Запрос изменяет переменные CI/CD группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
ciCdVariablesToUpdate Array(CiCdVariable) Список переменных для изменения (обязательный параметр)

Поля переменной:

Параметр Тип Описание
id String UUID переменной (обязательный параметр)
key String Имя переменной (обязательный параметр)
value String Значение переменной (обязательный параметр)
mask Boolean Маскировать ли значение переменной в логах (обязательный параметр)
variableType String Тип переменной: VARIABLE_TYPE или FILE_TYPE (обязательный параметр)
environmentScope String Окружение, к которому применяется переменная

Все поля, кроме environmentScope, обязательные.

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

{
    "ciCdVariablesToUpdate": [
        {
            "id": "5a4b4b4e-aaaa-aaaa-aaaa-2d0c7e0f3f11",
            "key": "VAR_1",
            "value": "2",
            "mask": false,
            "variableType": "VARIABLE_TYPE"
        }
    ]
}

Responses

STATUS 200 - Переменные CI/CD успешно изменены.

STATUS 400 - Некорректные параметры запроса.

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

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


Удаление переменной ci/cd

DELETE /group/{groupPath}/-/cicd/variable/{variableUuid}

Запрос удаляет переменную CI/CD группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
variableUuid String UUID переменной CI/CD

Responses

STATUS 200 - Переменная CI/CD успешно удалена.

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

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


Получение настроек времени жизни конвейеров

GET /group/{groupPath}/-/cicd/pipeline-lifetime

Запрос возвращает настройки времени жизни конвейеров группы

Метод доступен только для корневой группы.

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Настройки времени жизни конвейеров успешно возвращены.

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

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


Изменение настроек времени жизни конвейеров

PATCH /group/{groupPath}/-/cicd/pipeline-lifetime/edit

Запрос изменяет настройки времени жизни конвейеров группы

Метод доступен только для корневой группы.

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
lifetime Integer Время жизни конвейера. Значение должно быть больше 0
enabled Boolean Включено ли ограничение времени жизни

Все параметры запроса необязательные.

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

{
    "lifetime": 30
}

Responses

STATUS 200 - Настройки времени жизни конвейеров успешно изменены.

STATUS 400 - Некорректные параметры запроса.

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

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


Применение настроек времени жизни конвейеров к проектам группы

POST /group/{groupPath}/-/cicd/apply-settings-to-projects

Запрос применяет настройки времени жизни конвейеров группы к проектам группы

Метод доступен только для корневой группы.

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Настройки времени жизни конвейеров успешно применены к проектам группы.

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

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


Методы для Агентов

Агент группы не создается через REST API. Его регистрируют по registrationUrl и registrationToken, полученным методом Получение информации для регистрации агента.

Получение информации для регистрации агента

GET /group/{groupPath}/-/runners/registration-info

Запрос возвращает адрес и токен для регистрации агента группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Информация для регистрации агента успешно возвращена.

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

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


Сброс токена регистрации агента

POST /group/{groupPath}/-/runners/reset-registration-token

Запрос сбрасывает токен регистрации агента группы и возвращает новое значение

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Токен регистрации агента успешно сброшен.

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

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


Получение списка Агентов группы

GET /group/{groupPath}/-/runners

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице

Responses

STATUS 200 - Список Агентов группы успешно возвращен.

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

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


Получение агента по UUID

GET /group/{groupPath}/-/runners/{runnerUuid}

Запрос возвращает Агент группы по его UUID

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
runnerUuid String UUID агента

Responses

STATUS 200 - Агент успешно возвращен.

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

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


Получение списка задач агента

GET /group/{groupPath}/-/runners/{runnerUuid}/jobs

Запрос возвращает список задач агента группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
runnerUuid String UUID агента
Параметр запроса Тип Описание
jobStatus String Статус задачи. Значение должно точно совпадать с именем статуса, в верхнем регистре (например, SUCCESS); значение success не принимается

Responses

STATUS 200 - Список задач агента успешно возвращен.

STATUS 400 - Некорректное значение параметра jobStatus.

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

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


Получение списка задач Агентов группы

GET /group/{groupPath}/-/runners/all/jobs

Запрос возвращает список задач всех Агентов группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
jobStatus String Статус задачи. Значение должно точно совпадать с именем статуса, в верхнем регистре (например, SUCCESS); значение success не принимается

Responses

STATUS 200 - Список задач Агентов группы успешно возвращен.

STATUS 400 - Некорректное значение параметра jobStatus.

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

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


Изменение агента

PATCH /group/{groupPath}/-/runners/{runnerUuid}/edit

Запрос изменяет Агент группы и возвращает его

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
runnerUuid String UUID агента

Request

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

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

Параметр Тип Описание
name String Название агента
description String Описание агента
tags Array(String) Теги агента

Все параметры запроса необязательные.

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

{
    "name": "runner",
    "description": "Описание агента",
    "tags": [
        "tag"
    ]
}

Responses

STATUS 200 - Агент успешно изменен и возвращен.

STATUS 400 - Некорректные параметры запроса.

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

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


Остановка агента

POST /group/{groupPath}/-/runners/{runnerUuid}/shutdown

Запрос останавливает Агент группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
runnerUuid String UUID агента

Responses

STATUS 200 - Команда остановки агента успешно отправлена.

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

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


Удаление агента

DELETE /group/{groupPath}/-/runners/{runnerUuid}

Запрос удаляет Агент группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
runnerUuid String UUID агента

Responses

STATUS 200 - Агент успешно удален.

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

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


Методы для защиты веток

Методы раздела доступны только для корневой группы.

Создание правила защиты веток

POST /group/{groupPath}/-/branch-protection

Запрос создает правило защиты веток группы и возвращает его

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
branchTemplate String Шаблон имени ветки, к которой применяется защита (обязательный параметр)
allowedToPush String Уровень доступа для редактирования файлов в ветке (обязательный параметр)
allowedToMerge String Уровень доступа для слияния в ветку (обязательный параметр)
allowForcePush Boolean Разрешен ли push --force
codeOwnerApprovalRequired Boolean Требуется ли одобрение владельцев кода
autoMergeByDefault Boolean Включать ли автослияние по умолчанию
priority Integer Приоритет правила

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

{
    "branchTemplate": "main",
    "allowedToPush": "DEVELOPER",
    "allowedToMerge": "DEVELOPER"
}

Responses

STATUS 200 - Правило защиты веток успешно создано и возвращено.

STATUS 400 - Некорректные параметры запроса.

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

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


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

GET /group/{groupPath}/-/branch-protection

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице
sort String Сортировка в формате поле,направление, например priority,desc

Responses

STATUS 200 - Список правил защиты веток успешно возвращен.

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

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


Получение правила защиты веток по UUID

GET /group/{groupPath}/-/branch-protection/{branchProtectionUuid}

Запрос возвращает правило защиты веток по его UUID

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
branchProtectionUuid String UUID правила защиты веток

Responses

STATUS 200 - Правило защиты веток успешно возвращено.

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

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


Изменение правила защиты веток

PUT /group/{groupPath}/-/branch-protection/{branchProtectionUuid}

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
branchProtectionUuid String UUID правила защиты веток

Request

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

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

Параметр Тип Описание
allowedToPush String Уровень доступа для редактирования файлов в ветке
allowedToMerge String Уровень доступа для слияния в ветку
allowForcePush Boolean Разрешен ли push --force
codeOwnerApprovalRequired Boolean Требуется ли одобрение владельцев кода
autoMergeByDefault Boolean Включать ли автослияние по умолчанию
priority Integer Приоритет правила

Все параметры запроса необязательные. Поле branchTemplate не изменяется.

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

{
    "allowedToPush": "ADMINS"
}

Responses

STATUS 200 - Правило защиты веток успешно изменено.

STATUS 400 - Некорректные параметры запроса.

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

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


Применение правила защиты веток к проектам группы

POST /group/{groupPath}/-/branch-protection/apply-settings-to-projects

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Правила защиты веток успешно применены к проектам группы.

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

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


Удаление правила защиты веток

DELETE /group/{groupPath}/-/branch-protection/{branchProtectionUuid}

Запрос удаляет правило защиты веток группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
branchProtectionUuid String UUID правила защиты веток

Responses

STATUS 200 - Правило защиты веток успешно удалено.

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

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


Методы для защиты тегов

Методы раздела доступны только для корневой группы.

Создание правила защиты тегов

POST /group/{groupPath}/-/tag-protection/create

Запрос создает правило защиты тегов группы и возвращает его

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
tagTemplate String Шаблон имени тега, к которому применяется защита (обязательный параметр)
allowToCreate String Уровень доступа для создания тегов (обязательный параметр)

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

{
    "tagTemplate": "v*",
    "allowToCreate": "DEVELOPER"
}

Responses

STATUS 200 - Правило защиты тегов успешно создано и возвращено.

STATUS 400 - Некорректные параметры запроса.

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

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


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

GET /group/{groupPath}/-/tag-protection

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице
sort String Сортировка в формате поле,направление, например tagTemplate,asc

Responses

STATUS 200 - Список правил защиты тегов успешно возвращен.

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

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


Получение правила защиты тегов по UUID

GET /group/{groupPath}/-/tag-protection/{tagProtectionUuid}

Запрос возвращает правило защиты тегов по его UUID

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
tagProtectionUuid String UUID правила защиты тегов

Responses

STATUS 200 - Правило защиты тегов успешно возвращено.

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

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


Изменение правила защиты тегов

PUT /group/{groupPath}/-/tag-protection/{tagProtectionUuid}

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
tagProtectionUuid String UUID правила защиты тегов

Request

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

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

Параметр Тип Описание
uuid String UUID правила. Значение должно совпадать с UUID в пути запроса (обязательный параметр)
allowToCreate String Уровень доступа для создания тегов

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

{
    "uuid": "5a4b4b4e-aaaa-aaaa-aaaa-2d0c7e0f3f11",
    "allowToCreate": "NO_ONE"
}

Responses

STATUS 200 - Правило защиты тегов успешно изменено.

STATUS 400 - Некорректные параметры запроса.

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

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


Применение правила защиты тегов к проектам группы

POST /group/{groupPath}/-/tag-protection/apply-settings-to-projects

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Правила защиты тегов успешно применены к проектам группы.

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

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


Удаление правила защиты тегов

DELETE /group/{groupPath}/-/tag-protection/{tagProtectionUuid}

Запрос удаляет правило защиты тегов группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
tagProtectionUuid String UUID правила защиты тегов

Responses

STATUS 200 - Правило защиты тегов успешно удалено.

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

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


Методы для LDAP

Синхронизация участников группы с LDAP

POST /group/{groupPath}/-/ldap/sync

Запрос запускает синхронизацию участников группы с LDAP

Эндпоинт доступен только если на инстансе включена синхронизация групп с LDAP (gitflic.leader = true и togglz.features.GITFLIC_LDAP_GROUP_SYNC.enabled = true). В противном случае возвращается 404.

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Синхронизация участников группы с LDAP запущена.

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

STATUS 404 - Данные по запросу не найдены или синхронизация с LDAP отключена.


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

Получение списка ролей участников группы

GET /group/{groupPath}/-/members/roles

Запрос возвращает список доступных ролей участников группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Список ролей участников группы успешно возвращен.

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

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


Список пользователей группы

GET /group/{groupPath}/-/members/users

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
Параметр запроса Тип Описание
q String Строка поиска по пользователям
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице

Responses

STATUS 200 - Список пользователей группы успешно возвращен.

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

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


Добавление пользователя в группу

POST /group/{groupPath}/-/members/users

Запрос добавляет пользователя в группу

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
userUuid String UUID пользователя (обязательный параметр)
role String Роль участника в группе (обязательный параметр)

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

{
    "userUuid": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "role": "DEVELOPER"
}

Responses

STATUS 200 - Пользователь успешно добавлен в группу.

STATUS 400 - Некорректные параметры запроса.

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

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


Изменение роли пользователя в группе

PATCH /group/{groupPath}/-/members/users/role/edit

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

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
userUuid String UUID пользователя (обязательный параметр)
role String Новая роль участника в группе (обязательный параметр)

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

{
    "userUuid": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "role": "REPORTER"
}

Responses

STATUS 200 - Роль пользователя в группе успешно изменена.

STATUS 400 - Некорректные параметры запроса.

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

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


Удаление пользователя из группы

DELETE /group/{groupPath}/-/members/users/{userUuid}

Запрос удаляет пользователя из группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
userUuid String UUID пользователя

Responses

STATUS 200 - Пользователь успешно удален из группы.

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

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


Список групп-участников группы

GET /group/{groupPath}/-/members/groups

Запрос возвращает список групп, которые являются участниками группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Responses

STATUS 200 - Список групп-участников успешно возвращен.

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

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


Добавление группы в группу

POST /group/{groupPath}/-/members/groups

Запрос добавляет группу в качестве участника в другую группу

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
groupUuid String UUID добавляемой группы (обязательный параметр)
role String Роль участника в группе (обязательный параметр)

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

{
    "groupUuid": "5a4b4b4e-aaaa-aaaa-aaaa-2d0c7e0f3f11",
    "role": "DEVELOPER"
}

Responses

STATUS 200 - Группа успешно добавлена в группу.

STATUS 400 - Некорректные параметры запроса.

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

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


Изменение роли группы в группе

PATCH /group/{groupPath}/-/members/groups/role/edit

Запрос изменяет роль группы-участника в группе

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup

Request

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

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

Параметр Тип Описание
groupUuid String UUID группы-участника (обязательный параметр)
role String Новая роль участника в группе (обязательный параметр)

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

{
    "groupUuid": "5a4b4b4e-aaaa-aaaa-aaaa-2d0c7e0f3f11",
    "role": "GUEST"
}

Responses

STATUS 200 - Роль группы в группе успешно изменена.

STATUS 400 - Некорректные параметры запроса.

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

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


Удаление группы из группы

DELETE /group/{groupPath}/-/members/groups/{groupUuid}

Запрос удаляет группу-участника из группы

Переменная пути запроса Тип Описание
groupPath String Полный путь группы, например owner/group или owner/group/subgroup
groupUuid String UUID группы-участника

Responses

STATUS 200 - Группа успешно удалена из группы.

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

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


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

Для методов раздела требуется токен администратора инстанса.

Получение списка групп администратором

GET /admin/group

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

Параметр запроса Тип Описание
qName String Строка поиска по названию группы
qOwner String Строка поиска по владельцу группы
isPrivate Boolean Фильтр по приватности группы
page Integer Номер страницы, начиная с 0
size Integer Количество элементов на странице
sort String Сортировка в формате поле,направление, например title,asc

Responses

STATUS 200 - Список групп успешно возвращен.

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


Добавление пользователя в группу администратором

POST /admin/group/{groupID}/member/invite

Запрос добавляет пользователя в группу от имени администратора инстанса

Переменная пути запроса Тип Описание
groupID String UUID группы

Request

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

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

Параметр Тип Описание
userAlias String Псевдоним пользователя (обязательный параметр)
role String Роль участника в группе (обязательный параметр)

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

{
    "userAlias": "USER",
    "role": "DEVELOPER"
}

Responses

STATUS 200 - Пользователь успешно добавлен в группу.

STATUS 400 - Некорректные параметры запроса.

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

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