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

Компании


Описание структуры JSON-объекта, описывающего компанию

Поле Тип Описание
id String Уникальный ID компании
alias String Псевдоним компании
title String Название компании
description String Описание компании
url String Ссылка на сайт компании
contactPhone String Контактный телефон компании
contactEmail String Контактный email компании
ownerAlias String Псевдоним владельца компании
avatar String Ссылка на аватар компании
private Boolean Приватная компания (true) или публичная (false)
selectorTitle String Селектор названия компании
selectorId String Селектор ID
isDeleted Boolean Компания удалена true или нет false
selectorOwnerAlias String Селектор псевдонима владельца компании
hexColor String Код цвета
selectorAlias String Псевдоним селектора компании
selectorColor String Цвет селектора
selectorHash String Хэш селектора

Описание структуры JSON-объекта, описывающего состояние шаблонных настроек компании

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

Метод для получения списка компаний

GET /company

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

Responses

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

Пример ответа
    
{
    "_embedded": {
        "companyList": [
            {
                "id": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f",
                "alias": "testovaya-kompaniya",
                "title": "тестовая компания",
                "description": "Пример описания",
                "url": "test1.com",
                "contactPhone": null,
                "contactEmail": "user@gitflic.ru",
                "ownerAlias": "user1",
                "avatar": "https://gitflic.ru/upload/img/6c482659-aaaa-aaaa-aaaa-d4086f2d8251.jpg",
                "private": false,
                "selectorTitle": "тестовая компания",
                "selectorId": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f",
                "selectorOwnerAlias": null,
                "hexColor": null,
                "selectorAlias": null,
                "selectorColor": null,
                "selectorHash": null,
            },
            {
                "id": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
                "alias": "publichnaya-kompaniya",
                "title": "публичная компания",
                "description": "Пример описания",
                "url": null,
                "contactPhone": "+79991234567",
                "contactEmail": "user@gitflic.ru",
                "ownerAlias": "user1",
                "avatar": "https://gitflic.ru/upload/img/4b0fab04-aaaa-aaaa-aaaa-ec70560fcae2.jpg",
                "private": false,
                "selectorTitle": "публичная компания",
                "selectorId": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
                "selectorOwnerAlias": null,
                "hexColor": null,
                "selectorAlias": null,
                "selectorColor": null,
                "selectorHash": null,
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод получения компании активного пользователя

GET /company/my

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

Responses

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

Пример ответа
    
{
    "_embedded": {
        "companyList": [
            {
                "id": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f",
                "alias": "testovaya-kompaniya",
                "title": "тестовая компания",
                "description": "Пример описания",
                "url": "test1.com",
                "contactPhone": null,
                "contactEmail": "user@gitflic.ru",
                "ownerAlias": "user1",
                "avatar": "https://gitflic.ru/upload/img/6c482659-aaaa-aaaa-aaaa-d4086f2d8251.jpg",
                "private": false,
                "selectorTitle": "тестовая компания",
                "selectorId": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f",
                "selectorOwnerAlias": null,
                "hexColor": null,
                "selectorAlias": null,
                "selectorColor": null,
                "selectorHash": null,
            },
            {
                "id": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
                "alias": "publichnaya-kompaniya",
                "title": "публичная компания",
                "description": "Пример описания",
                "url": null,
                "contactPhone": "+79991234567",
                "contactEmail": "user@gitflic.ru",
                "ownerAlias": "user1",
                "avatar": "https://gitflic.ru/upload/img/4b0fab04-aaaa-aaaa-aaaa-ec70560fcae2.jpg",
                "private": false,
                "selectorTitle": "публичная компания",
                "selectorId": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
                "selectorOwnerAlias": null,
                "hexColor": null,
                "selectorAlias": null,
                "selectorColor": null,
                "selectorHash": null,
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод получения компании с участием пользователя

GET /company/shared

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

Responses

STATUS 200 - Список компаний с участием пользователя успешно возвращен

Пример ответа
    
{
    "_embedded": {
        "companyList": [
            {
                "id": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f",
                "alias": "testovaya-kompaniya",
                "title": "тестовая компания",
                "description": "Пример описания",
                "url": "test1.com",
                "contactPhone": null,
                "contactEmail": "user@gitflic.ru",
                "ownerAlias": "user1",
                "avatar": "https://gitflic.ru/upload/img/6c482659-aaaa-aaaa-aaaa-d4086f2d8251.jpg",
                "private": false,
                "selectorTitle": "тестовая компания",
                "selectorId": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f",
                "selectorOwnerAlias": null,
                "hexColor": null,
                "selectorAlias": null,
                "selectorColor": null,
                "selectorHash": null,
            },
            {
                "id": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
                "alias": "publichnaya-kompaniya",
                "title": "публичная компания",
                "description": "Пример описания",
                "url": null,
                "contactPhone": "+79991234567",
                "contactEmail": "user@gitflic.ru",
                "ownerAlias": "user1",
                "avatar": "https://gitflic.ru/upload/img/4b0fab04-aaaa-aaaa-aaaa-ec70560fcae2.jpg",
                "private": false,
                "selectorTitle": "публичная компания",
                "selectorId": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
                "selectorOwnerAlias": null,
                "hexColor": null,
                "selectorAlias": null,
                "selectorColor": null,
                "selectorHash": null,
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод для получения компании по названию

GET /company/{companyAlias}

Запрос возвращает компанию

Переменная пути запроса Тип Описание
companyAlias String Алиас компании

Responses

STATUS 200 - Компания успешно возвращена.

Пример ответа
    
{
    "id": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
    "alias": "publichnaya-kompaniya",
    "title": "публичная компания",
    "description": "Пример описания",
    "url": null,
    "contactPhone": "+79991234567",
    "contactEmail": "user@gitflic.ru",
    "ownerAlias": "user1",
    "avatar": "https://gitflic.ru/upload/img/4b0fab04-aaaa-aaaa-aaaa-ec70560fcae2.jpg",
    "private": false,
    "selectorTitle": "публичная компания",
    "selectorId": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
    "selectorOwnerAlias": null,
    "hexColor": null,
    "selectorAlias": null,
    "selectorColor": null,
    "selectorHash": null,
}
    
  

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

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


Метод для создания компании

POST /company

Запрос создает и возвращает компанию

Request

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

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

Параметр Описание
title Название компании
isPrivate Приватная компания или нет. Принимает true или false
alias Алиас компании
description Описание компании

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

{
    "title": "company",
    "isPrivate": "true",
    "alias": "company",
    "description": "description"
}

Responses

STATUS 200 - Компания успешно создана.

Пример ответа
    
        {
            "id": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
            "alias": "company",
            "title": "company",
            "description": "description",
            "url": null,
            "contactPhone": null,
            "contactEmail": null,
            "ownerAlias": "user",
            "avatar": "https://gitflic.ru/upload/img/4b0fab04-aaaa-aaaa-aaaa-ec70560fcae2.jpg",
            "private": true,
            "selectorTitle": "company",
            "selectorId": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1",
            "selectorOwnerAlias": null,
            "hexColor": null,
            "selectorAlias": null,
            "selectorColor": null,
            "selectorHash": null,
        }
    
  

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

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


Метод добавления пользователя в компанию

POST /company/{companyAlias}/member/invite

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании, в которую необходимо добавить пользователя

Request

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

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

Параметр Описание
userAlias Псевдоним пользователя, который будет добавлен в компанию
role Роль, с которой будет добавлен пользователь. Возможные значения: GUEST - гость, REPORTER - докладчик, DEVELOPER - разработчик и ADMIN - администратор
{
    "userAlias" : "user",
    "role" : "ADMIN"
}

Responses

STATUS 200 - Пользователю отправлено приглашение в компанию.

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

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


Метод изменения роли пользователя в компании

PUT /company/{companyAlias}/member/role

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании, в которой необходимо изменить роль пользователя

Request

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

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

Параметр Описание
userAlias Псевдоним пользователя, роль которого будет изменена в компании
role Измененная роль пользователя. Возможные значения: GUEST - гость, REPORTER - докладчик, DEVELOPER - разработчик и ADMIN - администратор
{
    "userAlias" : "user",
    "role" : "ADMIN"
}

Responses

STATUS 200 - Изменена роль пользователя.

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

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


Метод удаления пользователя из компании

DELETE /company/{companyAlias}/member/{userAlias}

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании, из которой необходимо удалить пользователя
userAlias String Псевдоним пользователя, которого необходимо удалить из компании

Responses

STATUS 200 - Пользователь удален из компании.

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

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


Методы шаблонных настроек компании

В настройках компании существуют шаблоны, которые возможно применить ко всем проектам данной компании:

Метод для получения состояния настроек шаблонов компании

GET /company/{companyAlias}/setting/import

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании

Responses

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

Пример ответа
    
{
    "allowImportBranchProtection": true,
    "allowImportEnvironmentProtection": true,
    "allowImportTagProtection": true,
    "allowImportMrApprovalConfigAndRules": true,
    "allowImportPipelineLifetimeSetting": true
}
    
  

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

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


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

POST /company/{companyAlias}/setting/import

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании

Request

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

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

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

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

{
    "allowImportBranchProtection": true,
    "allowImportEnvironmentProtection": true,
    "allowImportTagProtection": true,
    "allowImportMrApprovalConfigAndRules": true,
    "allowImportPipelineLifetimeSetting": true
}

Responses

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

Пример ответа
    
{
    "allowImportBranchProtection": true,
    "allowImportEnvironmentProtection": true,
    "allowImportTagProtection": true,
    "allowImportMrApprovalConfigAndRules": true,
    "allowImportPipelineLifetimeSetting": true
}
    
  

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

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


Методы для правил защиты веток компании

Ознакомиться с вышеперечисленными методами возможно здесь


Методы для правил защиты тегов компании

Ознакомиться с вышеперечисленными методами возможно здесь


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

Ознакомиться с вышеперечисленными методами возможно здесь


Методы для настроек CI/CD компании

Ознакомиться с вышеперечисленными методами возможно здесь


Методы для правил защиты окружений компании

Ознакомиться с вышеперечисленными методами возможно здесь