Методы для Администратора
Данные методы работают только при наличии прав администратора.
Описание структуры JSON-объекта, описывающего настройки сервиса
Поле | Тип | Описание |
---|---|---|
disableLdapAuth |
Boolean | Регистрации новых аккаунтов через LDAP доступна false или нет true |
disableSamlAuth |
Boolean | Регистрации новых аккаунтов через SAML доступна false или нет true |
disableMailAuth |
Boolean | Регистрации новых аккаунтов через почту доступна false или нет true |
fileDownloadIsEnabled |
Boolean | Скачивания архива и файлов в проекте доступно true или нет false |
pullRepoFromAnonUserIsEnabled |
Boolean | Пулл публичных репозиториев анонимным пользователем доступен true или нет false |
downloadReleaseFromAnonUserIsEnabled |
Boolean | Скачивание релизов анонимным пользователям доступно true или нет false |
enableEmailValidation |
Boolean | Общая валидация email включена true или нет false |
enableDomainValidation |
Boolean | Валидация email по домену включена true или нет false |
enableWhiteList |
Boolean | Включена валидация по белому списку true или по черному false |
whiteListDomains |
Set (String) | Массив, содержащий домены в белом списке |
blackListDomains |
Set (String) | Массив, содержащий домены в черном списке |
userAutoConfirm |
Boolean | Новые пользователи автоматически регистрируются с подтвержденной почтой true или нет false |
enableApiLimit |
Boolean | Лимит на число запросов к API в част включен true или нет false |
userApiCountLimit |
Integer | Максимальное число запросов к API в час |
enableCustomSshPort |
Boolean | SSH порт отображается в remote url проектов для всех инстансов true или нет false |
sshPort |
Integer | SSH порт отображаемый в remote url проектов для всех инстансов |
globalRegistryAnonymousAccess |
Boolean | Анонимные пользователи способны просматривать загруженные пакеты в глобальный реестр пакетов true или нет false |
publicRepositoryAutoPermission |
Boolean | Все пользователи способны создавать публичные проекты true или нет false |
projectUpdateLag |
Integer | Доступная частота обновления проектов зеркал |
sessionMaxInactiveIntervalMinutes |
Integer | Максимальное время в минутах, в течение которого пользователь может оставаться неактивным, прежде чем сеанс будет автоматически завершен |
pullMirrorUpdateIntervalMinutes |
Integer | Интервал в минутах для обновления PULL зеркал |
pushMirrorUpdateIntervalMinutes |
Integer | Интервал в минутах для обновления PUSH зеркал |
projectCreatePermission |
Boolean | Создание проектов доступно всем пользователям true или настраивается отдельно false |
teamCreatePermission |
Boolean | Создание команд доступно всем пользователям true или настраивается отдельно false |
companyCreatePermission |
Boolean | Создание компаний доступно всем пользователям true или настраивается отдельно false |
enableTwoFactor |
Boolean | Двухфакторная аутентификации доступна для входа true или нет false |
enableBasicAuth |
Boolean | Базовая аутентификация для получения апи-токена доступна true или нет false |
defaultLoginPage |
String | Страница аутентификации по умолчанию. Возможные значения: BASIC , SAML и LDAP |
enableBasicLoginPage |
Boolean | Стандартная страница аутентификации доступна true или нет false |
enableLdapLoginPage |
Boolean | LDAP страница аутентификации доступна true или нет false |
enableSamlLoginPage |
Boolean | SAML страница аутентификации доступна true или нет false |
enableOidcLoginPage |
Boolean | OIDC страница аутентификации доступна true или нет false |
enableReports |
Boolean | Возможность подачи жалоб на проекты, команды и компании доступна true или нет false |
lockUserAccountIfLoginAttemptsHasBeenExceeded |
Boolean | Возможность блокировки входа в аккаунт, если количество попыток входа было превышено, доступна true или нет false |
maxUserArchivedPasswords |
Integer | Количество архивируемых паролей |
timeToLockUser |
Integer | Продолжительность блокировки после превышения попыток входа (в минутах) |
timeToCountFailUserLoginAttempts |
Integer | Время на подсчет количества неудачных попыток входа (в секундах) |
archiveUserPasswordsIsEnabled |
Boolean | Использование архивных паролей доступно true или нет false |
maxAttemptsToLoginIntoAccount |
Integer | Максимальное количество неудачных попыток ввода пароля, при достижении которого все последующие попытки будут отклонены |
Методы для работы с SSH ключами
Добавление SSH ключа пользователю
POST /admin/user/{userAlias}/key/create
Запрос добавляет SSH ключ пользователю
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Передаваемый параметр | Тип | Описание |
---|---|---|
publicKey |
string | ssh ключ пользователя |
title |
string | Название для ssh ключа пользователя |
expiresAt |
string | Дата окончания действия ключа в формате ISO |
Пример JSON объекта
{
"publicKey" : "ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru",
"title": "Название ключа",
"expiresAt" : "2020-10-10"
}
Responses
STATUS 200
- Успешное добавление SSH ключа:
{
"uuid":"089cdbe3-aaaa-aaaa-aaaa-b0edde8eda6d"
"ublicKey":"ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru"
"title":"Название ключа"
"expiresAt": "2020-10-10"
"userUuid":"f1a94466-aaaa-aaaa-aaaa-744ec3bbd60c"
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
STATUS 422
- Данный ключ уже используется.
Получение списка SSH ключей пользователя
GET /admin/user/{userAlias}/key
Запрос возвращает список всех SSH ключей пользователя
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
Responses
STATUS 200
- Успешное получение информации.
{
"_embedded": {
"userPublicSshKeyModelList": [
{
"uuid": "b9c4e55a-aaaa-aaaa-aaaa-fb8dc25d9e3f",
"publicKey": "ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABgQDB1AxIDFJr0mBl2MTeY2TOpUz0hDz7Fm5GzU= Михаил@DESKTOP-EPMR5HD\r\n",
"title": "Ключ1",
"expiresAt": null,
"userUuid": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
},
{
"uuid": "05e9982b-aaaa-aaaa-aaaa-ddc9bb0ec3d7",
"publicKey": "ssh-ed25519 AAAAC3NzaC1lZVF1NTE5AAAAIDkxja/2VmTEsIMRtf3bI4XYDpb5f8vLfSjy7/u8EZeI your_email@gitflic.ru\r\n",
"title": "Ключ2",
"expiresAt": null,
"userUuid": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение SSH ключа пользователя
GET admin/user/{userAlias}/key/{keyUuid}
Запрос возвращает информацию о SSH ключе пользователя
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
keyUuid |
string | ID ключа пользователя |
Responses
STATUS 200
- Успешное получение информации.
{
"uuid":"0dee836e-aaaa-aaaa-aaaa-65318059de1f"
"publicKey":"ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru"
"title":"Название ключа"
"expiresAt":"2020-10-10T10-10-10Z"
"userUuid":"f1a94466-aaaa-aaaa-aaaa-744ec3bbd60c"
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Удаление SSH ключа пользователя
DELETE admin/user/{userAlias}/key/delete/{keyUuid}
Запрос удаляет SSH ключ пользователя
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
keyUuid |
string | ID ключа пользователя |
Responses
STATUS 200
- Успешное удаление ключа.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Методы для работы с данными пользователей
Поиск пользователей
GET admin/user?email={email}&username={userAlias}
Запрос возвращает список пользователей, найденных по заданным параметрам, есть возможность настройки количества отображаемых объектов на странице
Переменная пути запроса | Тип | Описание |
---|---|---|
email |
string | Необязательный параметр. Email пользователя |
userAlias |
string | Необязательный параметр. Псевдоним пользователя |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"restUserAdminModelList": [
{
"id": "2cd3dd9e-aaaa-aaaa-aaaa-9799ce223f67",
"username": "adminuser",
"email": adminuser@admin.local,
"name": "admin",
"surname": "user",
"fullName": "admin user",
"avatar": "https://gitflic.ru/upload/img/b0ea82d9-aaaa-aaaa-aaaa-d75b4da79a67.png",
"cover": "/upload/img/f7f442e1-aaaa-aaaa-aaaa-fb963ac02506.jpg",
"confirmed": true
},
{
"id": "4fd50abd-aaaa-aaaa-aaaa-87186e8a5b67",
"username": "us",
"email": user@test.ru,
"name": "Иван",
"surname": "Иванов",
"fullName": "Иван Иванов",
"avatar": "https://rccw.gitflic.tech/upload/img/20b2f481-aaaa-aaaa-aaaa-ccf26df448e8.png",
"cover": "/upload/img/ff3gv3e1-aaaa-aaaa-aaaa1-5u963ak0f506.jpg",
"confirmed": true
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Создание пользователя
POST /user
Запрос возвращает информацию о созданном пользователе.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Описание |
---|---|
email |
E-mail создаваемого пользователя |
password |
Пароль создаваемого пользователя |
alias |
Псевдоним создаваемого пользователя |
Пример JSON объекта
{
"email": "email@local.ru",
"password": "password",
"alias": "alias"
}
Responses
STATUS 200
- пример JSON:
{
"id":"f3657c3c-aaaa-aaaa-aaaa-917acb676944"
"username":"alias"
"name":null
"surname":null
"fullName":null
"avatar":"http://localhost:8080/upload/img/5c10b16d-aaaa-aaaa-aaaa-76443bc44055.png"
"cover":null
}
STATUS 403
- Нет прав для доступа.
STATUS 422
- Пользователь с такими данными уже существует или введены некорректные данные.
Изменение почты пользователя
PUT /admin/user/{userAlias}/change-email
Запрос изменяет почту пользователя
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Описание |
---|---|
email |
Новый e-mail пользователя |
Пример JSON объекта
{
"email": "email@local.ru"
}
Responses
STATUS 200
- успешное изменение почты пользователя.
STATUS 403
- Нет прав для доступа.
STATUS 422
- Пользователь с такими данными уже существует или введены некорректные данные.
Изменение псевдонима пользователя
PUT /admin/user/{userAlias}/change-username
Запрос изменяет псевдоним пользователя
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
Request
Поддерживаемый формат - JSON
Структура тела POST-запроса
Параметр | Описание |
---|---|
username |
Новый псевдоним пользователя |
Пример JSON объекта
{
"username": "adminuser"
}
Responses
STATUS 200
- Успешное изменение псевдонима пользователя.
STATUS 403
- Нет прав для доступа.
STATUS 422
- Пользователь с такими данными уже существует или введены некорректные данные.
Изменение пароля пользователя
PUT /admin/user/{userAlias}/change-password
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
string | Псевдоним пользователя |
Запрос изменяет пароль пользователя.
Request
Поддерживаемый формат - JSON
Структура тела POST-запроса
Параметр | Описание |
---|---|
password |
Новый пароль пользователя |
passwordConfirm |
Подтверждение пароля |
Пример JSON объекта
{
"password": "qwerty123",
"passwordConfirm" : "qwerty123"
}
Responses
STATUS 200
- Успешное изменение пароля пользователя.
STATUS 403
- Нет прав для доступа.
STATUS 422
- Пользователь с такими данными уже существует или введены некорректные данные.
Методы для работы с агентами
Получение информации для регистрации агента на уровне сервиса
GET /admin/runners/registration-info
Запрос возвращает необходимую информацию для регистрации агента на уровне сервиса - URL и токен.
Responses
STATUS 200
- Успешное получение информации.
{
"id":"1"
"registrationUrl":"http://localhost:8080/-/runner/registration"
"registrationToken":"0d949a3a-aaaa-bbbb-cccc-5fa8c3953e70"
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Сброс токена для регистрации агента на уровне сервиса
POST /admin/runners/reset-registration-token
Запрос сбрасывает токен для регистрации агента на уровне сервиса.
Responses
STATUS 200
- Успешный сброс токен.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение списка агентов
GET /admin/runners
Запрос возвращает список агентов зарегистрированных в сервисе, есть возможность настройки количества отображаемых объектов на странице
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"restPipelineRunnerModelList": [
{
"id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
"description": "Описание агента для компании",
"connectedAt": "2024-06-03T08:37:21.33104",
"active": false,
"name": "Gloin",
"platform": "Linux",
"architecture": "amd64",
"ipAddress": "127.0.0.1",
"tags": [
"4.4",
"4.5",
"4.6"
],
"ownerType": "COMPANY",
"ownerId": 4,
"runUntagged": true,
"locked": true,
"maxTimeoutInSec": 100,
"protected": true
},
{
"id": "c5c48d5f-aaaa-aaaa-aaaa-01aa12228f2d",
"description": "Описание агента для проекта",
"connectedAt": "2024-06-17T09:06:37.966851",
"active": true,
"name": "The Lord of the Eagles",
"platform": "Linux",
"architecture": "amd64",
"ipAddress": "127.0.0.1",
"tags": [
"3.2.1",
"3.2.2",
"3.2.3"
],
"ownerType": "PROJECT",
"ownerId": 84,
"runUntagged": false,
"locked": false,
"maxTimeoutInSec": 100,
"protected": false
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение агента по его UUID
GET /admin/runners/{runnerUuid}
Запрос возвращает информацию об агенте
Переменная пути запроса | Тип | Описание |
---|---|---|
runnerUuid |
String | UUID агента |
Responses
STATUS 200
- пример JSON:
{
"id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
"description": "Описание агента",
"connectedAt": "2024-06-03T08:37:21.33104",
"active": true,
"name": "Gloin",
"platform": "Linux",
"architecture": "amd64",
"ipAddress": "127.0.0.1",
"tags": [
"4.4",
"4.5",
"4.6"
],
"ownerType": "COMPANY",
"ownerId": 4,
"runUntagged": false,
"locked": false,
"maxTimeoutInSec": 100,
"protected": true
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение списка агентов проекта
GET /admin/runners/project/{ownerAlias}/{projectAlias}
Запрос возвращает список агентов указанного проекта, есть возможность настройки количества отображаемых объектов на странице
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"restPipelineRunnerModelList": [
{
"id": "c5c48d5f-aaaa-aaaa-aaaa-01aa12228f2d",
"description": "Описание агента",
"connectedAt": "2024-06-17T09:06:37.966851",
"active": true,
"name": "The Lord of the Eagles",
"platform": "Linux",
"architecture": "amd64",
"ipAddress": "127.0.0.1",
"tags": [
"3.2.1",
"3.2.2",
"3.2.3"
],
"ownerType": "PROJECT",
"ownerId": 84,
"runUntagged": false,
"locked": false,
"maxTimeoutInSec": 100,
"protected": true
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение списка агентов компании
GET /admin/runners/company/{companyAlias}
Запрос возвращает список агентов указанной компании, есть возможность настройки количества отображаемых объектов на странице
Переменная пути запроса | Тип | Описание |
---|---|---|
companyAlias |
String | Псевдоним компании |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"restPipelineRunnerModelList": [
{
"id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
"description": "Описание агента",
"connectedAt": "2024-06-03T08:37:21.33104",
"active": true,
"name": "Gloin",
"platform": "Linux",
"architecture": "amd64",
"ipAddress": "127.0.0.1",
"tags": [
"4.4",
"4.5",
"4.6"
],
"ownerType": "COMPANY",
"ownerId": 4,
"runUntagged": false,
"locked": false,
"maxTimeoutInSec": 100,
"protected": true
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение задач всех агентов сервиса
GET /admin/runners/all/jobs?jobStatus
Запрос возвращает информацию о задачах, которые выполнили все агенты, зарегистрированные на уровне всего сервиса
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"restPipelineJobModelList": [
{
"id": "c0f4ce7a-aaaa-aaaa-aaaa-f75d22415acc",
"localId": 2,
"finishedAt": "2024-06-21T11:38:15.229604Z",
"startedAt": null,
"name": "job 1",
"stageName": "test",
"tag": false,
"ref": "master",
"erasedAt": null,
"artifactsExpireAt": null,
"status": "SUCCESS",
"pipelineLocalId": 2
},
{
"id": "9bd6e1c7-aaaa-aaaa-aaaa-384e89f5e770",
"localId": 205,
"finishedAt": "2024-06-21T11:38:35.449307Z",
"startedAt": null,
"name": "job 2",
"stageName": "build",
"tag": false,
"ref": "master",
"erasedAt": null,
"artifactsExpireAt": null,
"status": "SUCCESS",
"pipelineLocalId": 36
}
]
},
"page": {
"size": 2,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Получение задач агента сервиса с указанным UUID
GET /admin/runners/{runnerUuid}/jobs?jobStatus
Запрос возвращает информацию о задачах, которые выполнил агент с указанным UUID, зарегистрированный на уровне всего сервиса
Переменная пути запроса | Тип | Описание |
---|---|---|
runnerUuid |
String | UUID агента |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"restPipelineJobModelList": [
{
"id": "c0f4ce7a-aaaa-aaaa-aaaa-f75d22415acc",
"localId": 2,
"finishedAt": "2024-06-21T11:38:15.229604Z",
"startedAt": null,
"name": "job 1",
"stageName": "test",
"tag": false,
"ref": "master",
"erasedAt": null,
"artifactsExpireAt": null,
"status": "SUCCESS",
"pipelineLocalId": 2
},
{
"id": "9bd6e1c7-aaaa-aaaa-aaaa-384e89f5e770",
"localId": 205,
"finishedAt": "2024-06-21T11:38:35.449307Z",
"startedAt": null,
"name": "job 2",
"stageName": "build",
"tag": false,
"ref": "master",
"erasedAt": null,
"artifactsExpireAt": null,
"status": "SUCCESS",
"pipelineLocalId": 36
}
]
},
"page": {
"size": 2,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для выключения агента по его UUID
POST /admin/runners/{runnerUuid}/shutdown
Запрос отключает агент c указанным UUID
Переменная пути запроса | Тип | Описание |
---|---|---|
runnerUuid |
String | UUID агента |
Responses
STATUS 200
- Агент отключен.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Редактирование агента компании
POST /admin/runners/{runnerUuid}/edit
Запрос редактирует агент c указанным UUID и возвращает информацию о нем
Переменная пути запроса | Тип | Описание |
---|---|---|
runnerUuid |
String | UUID агента |
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Передаваемые параметры | Тип | Описание |
---|---|---|
name |
String | Имя агента |
description |
String | Описание агента |
isActive |
Boolean | Активный агент true или нет false |
maxTimeoutInSec |
Integer | Максимальное время ожидания задания в секундах |
tags |
Object | Объект, содержащий список тегов. Агент будет работать только для указанных тегов |
runUntagged |
Boolean | Может ли этот агент выбирать задания без тегов true или нет false |
isLocked |
Boolean | Заблокирован агент true или нет false . Заблокированный агент нельзя привязать к другим проектам |
isProtected |
Boolean | Агент работает только на защищенных ветках true или нет false |
Пример JSON объекта
{
"name": "Gloin",
"description": "Описание агента",
"isActive": true,
"maxTimeoutInSec": 100,
"ipAddress": "127.0.0.1",
"tags": ["4.4","4.5", "4.6"],
"runUntagged": false,
"isLocked": false,
"isProtected": true
}
Responses
STATUS 200
- пример JSON:
{
"id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
"description": "Описание агента",
"connectedAt": "2024-06-03T08:37:21.33104",
"active": true,
"name": "Gloin",
"platform": "Linux",
"architecture": "amd64",
"ipAddress": "127.0.0.1",
"tags": [
"4.4",
"4.5",
"4.6"
],
"ownerType": "COMPANY",
"ownerId": 4,
"runUntagged": false,
"locked": false,
"maxTimeoutInSec": 100,
"protected": true
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Удаление агента
DELETE /admin/runners/{runnerUuid}
Запрос удаляет агент c указанным UUID
Переменная пути запроса | Тип | Описание |
---|---|---|
runnerUuid |
String | UUID агента |
Responses
STATUS 204
- Агент удален.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Методы для работы с настройками сервиса
Все методы в данном разделе, возвращают JSON-объект, который описывает настройки сервиса.
Изменение доступности регистрации в сервисе
POST /admin/settings/registration
Запрос изменяет возможность регистрации новых аккаунтов через LDAP, SAML или почту.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
disableLdapAuth |
Boolean | Доступна ли регистрации новых аккаунтов через LDAP (false ) или отключена (true ) |
disableSamlAuth |
Boolean | Доступна ли регистрации новых аккаунтов через SAML (false ) или отключена (true ) |
disableMailAuth |
Boolean | Доступна ли регистрации новых аккаунтов через почту (false ) или отключена (true ) |
Пример JSON объекта
{
"disableLdapAuth" : "false",
"disableSamlAuth" : "false",
"disableMailAuth" : "false"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение доступности скачивания архива и файлов в проекте
POST /admin/settings/download
Запрос изменяет доступность скачивания архива и файлов в проекте для всех пользователей.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
fileDownload |
Boolean | Доступно ли скачивания архива и файлов проектов (true ) или нет (false ) |
Пример JSON объекта
{
"fileDownload" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение доступности пулла публичных репозиториев анонимным пользователям
POST /admin/settings/pull
Запрос изменяет доступность пулла публичных репозиториев анонимным пользователям.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
pullRepoFromAnonUser |
Boolean | Доступен ли пулл публичных репозиториев анонимным пользователям (true ) или нет (false ) |
Пример JSON объекта
{
"pullRepoFromAnonUser" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение доступности скачивания файлов релиза анонимным пользователям
POST /admin/settings/download-release
Запрос изменяет доступность скачивания файлов релиза анонимным пользователям.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
downloadFromAnonUserEnable |
Boolean | Доступно ли скачивание файлов релиза анонимным пользователям (true ) или нет (false ) |
Пример JSON объекта
{
"downloadFromAnonUserEnable" : "false"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности для новых пользователей автоматически регистрироваться с подтвержденной почтой
POST /admin/settings/auto-confirm
Запрос изменяет возможность регистрации с подтвержденной почтой.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
autoConfirm |
Boolean | Новые пользователи автоматически регистрируются с подтвержденной почтой (true ) или нет (false ) |
Пример JSON объекта
{
"autoConfirm" : "false"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение валидации email
POST /admin/settings/email-validation
Запрос включает или отключает общую валидацию email - по домену верхнего уровня и имени почтового ящика.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableEmailValidation |
Boolean | Общая валидация email включена (true ) или выключена (false ) |
Пример JSON объекта
{
"enableEmailValidation" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение валидации email по домену
POST /admin/settings/domain-validation
Запрос изменяет настройки валидации email по домену.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableDomainValidation |
Boolean | Включена ли валидация email по домену (true ) или нет (false ) |
enableWhiteList |
Boolean | Включена ли валидация по белому списку (true ) или по черному (false ) |
blackListDomains |
Set (String) | Массив, содержащий домены, которые попадут в черный список. |
whiteListDomains |
Set (String) | Массив, содержащий домены, которые попадут в белый список |
Содержимое параметров
blackListDomains
иwhiteListDomains
перезаписывает все раннее сохраненные домены.
Пример JSON объекта
{
"enableDomainValidation" : "false",
"enableWhiteList" : "true",
"blackListDomains" : [""],
"whiteListDomains" : ["local.ru"]
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение ограничения по количеству запросов к API в час
POST /admin/settings/api-limit
Запрос изменяет ограничение по количеству запросов к API в час.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
disableApiLimit |
Boolean | Доступно ли ограничение по количеству запросов (false ) или нет (true ) |
userApiCountLimit |
Long | Количество запросов к API, которое можно отправить в час |
Пример JSON объекта
{
"disableApiLimit" : "true",
"userApiCountLimit" : "400"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение ssh порт в remote url проектов для всех инстансов
POST /admin/settings/ssh-port
Запрос включает или отключает отображение ssh порта в ссылке для клонирования проекта по ssh для всех инстансов. Кроме того в запросе можно указать отображаемый номер ssh порта.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableCustomSshPort |
Boolean | SSH порт отображается в remote url проектов (true ) или нет (false ) |
sshPort |
Integer | Номер ssh порта. Параметр можно передать если в параметре enableCustomSshPort передается значение true |
Пример JSON объекта
{
"enableCustomSshPort" : "true",
"sshPort" : "1122"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности просмотра загруженных пакетов в глобальный реестр пакетов для анонимных пользователей
POST /admin/settings/anonymous-global-registry-access
Запрос изменяет возможность просмотра загруженных пакетов в глобальный реестр пакетов для анонимных пользователей
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
anonymousGlobalRegistryAccess |
Boolean | Доступен ли просмотр пакетов в глобальном реестре для анонимных пользователей (true ) или нет (false ) |
Пример JSON объекта
{
"anonymousGlobalRegistryAccess" : "false"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности всем пользователям создавать публичные проекты
Запрос изменяет возможность всем пользователям создавать публичные проекты
POST /admin/settings/public-repository-auto-permission
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enabled |
Boolean | Всем пользователям доступно создание публичных проектов (true ) или нет (false ) |
Пример JSON объекта
{
"enabled" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение частоты обновления проекта зеркала пользователем
POST /admin/settings/mirror-update-lag
Запрос изменяет частоту обновления проекта зеркала пользователем. Время указывается в минутах.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
projectUpdateLag |
Integer | Временной интервал в минутах, один раз в который, пользователь может обновить проект-зеркало |
Пример JSON объекта
{
"projectUpdateLag" : "60"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение продолжительности сеанса
POST /admin/settings/session-max-inactive-interval
Запрос изменяет максимальное время в минутах, в течение которого пользователь может оставаться неактивным, прежде чем сеанс будет автоматически завершен.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
sessionMaxInactiveIntervalMinutes |
Integer | Максимальное время сессия в минутах |
Пример JSON объекта
{
"sessionMaxInactiveIntervalMinutes" : "60"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение интервала обновления зеркал
POST /admin/settings/mirror-update-interval
Запрос изменяет интервала обновления PUSH и PULL зеркал.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
pushMirrorUpdateIntervalMinutes |
Integer | Интервал обновления PUSH зеркала в минутах |
pullMirrorUpdateIntervalMinutes |
Integer | Интервал обновления PULL зеркала в минутах |
Пример JSON объекта
{
"pushMirrorUpdateIntervalMinutes": 30,
"pullMirrorUpdateIntervalMinutes": 30
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности создания проектов, компаний и команд
POST /admin/settings/create-permissions
Запрос изменяет возможность создания проектов, компаний или команд для всех пользователей сервиса.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableCreateProject |
Boolean | Доступно ли создание проектов (true ) или нет (false ) |
enableCreateTeam |
Boolean | Доступно ли создание команд (true ) или нет (false ) |
enableCreateCompany |
Boolean | Доступно ли создание компаний (true ) или нет (false ) |
Пример JSON объекта
{
"enableCreateProject" : "true",
"enableCreateTeam" : "true",
"enableCreateCompany" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности включения двухфакторной аутентификации
POST rest-api/admin/settings/2factor
Запрос изменяет возможность включения двухфакторной аутентификации для входа в аккаунт.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableTwoFactor |
Boolean | Доступно ли использование двухфакторной аутентификации для входа в аккаунт (true ) или нет (false ) |
Пример JSON объекта
{
"enableTwoFactor" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности включения базовой аутентификация для получения апи-токена
POST rest-api/admin/settings/basic-auth
Запрос изменяет возможность включения базовой аутентификация для получения апи-токена.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableBasicAuth |
Boolean | Доступно ли использование базовой аутентификация для получения апи-токена (true ) или нет (false ) |
Пример JSON объекта
{
"enableBasicAuth" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение страницы авторизации по умолчанию
POST /admin/settings/login-page
Запрос изменяет набор возможных точек входа, а также устанавливает страницу аутентификации по умолчанию.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
loginPageUrl |
String | Страница аутентификации по умолчанию. Принимает следующие значения: BASIC , SAML , LDAP и OIDC |
isEnableBasic |
Boolean | Доступна ли стандартная страница аутентификации (true ) или нет (false ) |
isEnableLdap |
Boolean | Доступна ли LDAP страница аутентификации (true ) или нет (false ) |
isEnableSaml |
Boolean | Доступна ли SAML страница аутентификации (true ) или нет (false ) |
isEnableOidc |
Boolean | Доступна ли OIDC страница аутентификации (true ) или нет (false ) |
Пример JSON объекта
{
"loginPageUrl" : "OIDC",
"isEnableBasic" : "true",
"isEnableLdap" : "false",
"isEnableSaml" : "false",
"isEnableOIDC" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности подавать жалобы
POST rest-api/admin/settings/project-report
Запрос изменяет возможность подавать жалобы на проекты, команды или компаниями.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableReport |
Boolean | Доступна ли возможность подавать жалобы (true ) или нет (false ) |
Пример JSON объекта
{
"enableReport" : "true"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности блокировки входа в аккаунт, если количество попыток входа было превышено
POST /admin/settings/lock-account
Запрос изменяет настройки правила блокировки входа в аккаунт, если количество попыток входа было превышено.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
lockUser |
Boolean | Ограничено ли количество попыток входа (true ) или нет (false ) |
maxAttempts |
Integer | Максимальное количество неудачных попыток ввода пароля, при достижении которого все последующие попытки будут отклонены |
timeToLockUser |
Integer | Продолжительность блокировки после превышения попыток входа (в минутах) |
timeToCountFailUserLoginAttempts |
Integer | Время на подсчет количества неудачных попыток входа (в секундах) |
Пример JSON объекта
{
"lockUser" : "false",
"maxAttempts" : "6",
"timeToLockUser" : "30",
"timeToCountFailUserLoginAttempts" : "10"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.
Изменение возможности использование архивированного пароль при его изменении
POST /admin/settings/archive-password
Запрс изменяет возможность использования архивированного пароль.
Request
Поддерживаемый формат JSON
Структура тела POST-запроса:
Параметр | Тип | Описание |
---|---|---|
enableArchiveUserPasswords |
Boolean | Запрещено ли использование архивных паролей (true ) или нет (false ) |
maxUserArchivedPasswords |
Integer | Количество архивируемых паролей |
Пример JSON объекта
{
"enableArchiveUserPasswords" : "true",
"maxUserArchivedPasswords" : "4"
}
Responses
STATUS 200
пример JSON:
{
"disableLdapAuth": false,
"disableSamlAuth": false,
"disableMailAuth": false,
"fileDownloadIsEnabled": true,
"pullRepoFromAnonUserIsEnabled": true,
"downloadReleaseFromAnonUserIsEnabled": false,
"enableEmailValidation": true,
"enableDomainValidation": false,
"enableWhiteList": true,
"whiteListDomains": [
"local.ru"
],
"blackListDomains": [],
"userAutoConfirm": false,
"enableApiLimit": false,
"userApiCountLimit": 400,
"enableCustomSshPort": true,
"sshPort": 1121,
"globalRegistryAnonymousAccess": false,
"publicRepositoryAutoPermission": false,
"projectUpdateLag": 60,
"sessionMaxInactiveIntervalMinutes": 60,
"pullMirrorUpdateIntervalMinutes": 30,
"pushMirrorUpdateIntervalMinutes": 30,
"projectCreatePermission": true,
"teamCreatePermission": true,
"companyCreatePermission": true,
"enableTwoFactor": true,
"enableBasicAuth": true,
"defaultLoginPage": "OIDC",
"enableBasicLoginPage": true,
"enableLdapLoginPage": false,
"enableSamlLoginPage": false,
"enableOidcLoginPage": true,
"enableReports": true,
"lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
"maxUserArchivedPasswords": 4,
"timeToLockUser": 30,
"timeToCountFailUserLoginAttempts": 10,
"archiveUserPasswordsIsEnabled": true,
"maxAttemptsToLoginIntoAccount": 6
}
STATUS 403
- Нет прав для доступа.