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

Данные методы работают только при наличии прав администратора.


Добавление 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-10T10-10-10Z"
}

Responses

STATUS 200 - Успешное добавление SSH ключа:

Пример ответа
    
        {
            "uuid":"089cdbe3-aaaa-aaaa-aaaa-b0edde8eda6d"
            "ublicKey":"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 - Данные по запросу не найдены.

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/runners/registration-info

Запрос возвращает необходимую информацию для регистрации агента на уровне инстанса - URL и токен.

Responses

STATUS 200 - Успешное получение информации.

Пример ответа
    
      {
        "id":"1"
        "registrationUrl":"http://localhost:8080/-/runner/registration"
        "registrationToken":"0d949a3a-aаaa-аааа-aааа-5fa8c3953e70"
      }
    
  


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

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


Сброс токена для регистрации агента на уровне инстанса

POST /admin/runners/reset-registration-token

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

Responses

STATUS 200 - Успешный сброс токен.

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 - Пользователь с такими данными уже существует или введены некорректные данные.