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

Теги


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

Поле Тип Описание
name String Имя тега
fullName String Полное имя тега
objectId String ID объекта (для легковесных тегов совпадает с хэшом коммита)
shortMessage String Короткое сообщение (отсутствует для легковесных тегов)
fullMessage String Полное сообщение (отсутствует для легковесных тегов)
commitId String Хэш коммита на который ссылается тег
personIdent Объект personIdent Информация об авторе тега
lightWeight Boolean Легковесный тег true или аннотированный false

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

Поле Тип Описание
name String Имя автора
avatart String Аватар автора
emailAddress String Email адрес
when DateTime Время создания тега

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

Ознакомиться с работой правил защиты тегов возможно здесь.

Поле Тип Описание
tagTemplate String Шаблон названия защищенного тега
allowToCreate String Минимальная роль участников, которым разрешено создание защищенных тегов. Возможные значения: NO_ONE - никому, DEVELOPER - разработчикам и выше, ADMINS - администраторам и выше
ownerType String Тип владельца правила защиты тега
uuid String UUID правила защиты тега

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

GET /project/{ownerAlias}/{projectAlias}/tag

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

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта

Responses

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

Пример ответа
    
{
    "_embedded": {
        "tagList": [
           {
                "name": "3.2.1",
                "fullName": "refs/tags/3.2.1",
                "objectId": "1a4cca6e2a5badaaaaaaaaaaaaf34aeeda3b4312",
                "shortMessage": "",
                "fullMessage": "",
                "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
                "personIdent": {
                    "name": "user",
                    "avatar": "/static/image/avatar.jpg",
                    "emailAddress": "user@email.ru",
                    "when": "2024-05-14T08:57:19Z"
                },
                "lightWeight": false
            },
            {
                "name": "v1.4",
                "fullName": "refs/tags/v1.4",
                "objectId": "767824e6b49d65aaaaaaaaaaaad4d6b38667242e",
                "shortMessage": "",
                "fullMessage": "",
                "commitId": "b7a6c142f2a9b5aaaaaaaaaaaa4d7dd4f314f328",
                "personIdent": {
                   "name": "user",
                   "avatar": "/static/image/avatar.jpg",
                   "emailAddress": "user@email.ru",
                   "when": "2022-04-26T13:44:45Z"
                },
                "lightWeight": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод для получения тегу по имени

GET /project/{ownerAlias}/{projectAlias}/tag/{tagName}

Запрос возвращает тег.

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
tagName String Имя тега

Responses

STATUS 200 - Тег возвращен.

Пример ответа
    
{
    "name": "3.2.1",
    "fullName": "refs/tags/3.2.1",
    "objectId": "1a4cca6e2a5badaaaaaaaaaaaaf34aeeda3b4312",
    "shortMessage": "",
    "fullMessage": "",
    "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
    "personIdent": {
        "name": "user",
        "avatar": "/static/image/avatar.jpg",
        "emailAddress": "user@email.ru",
        "when": "2024-05-14T08:57:19Z"
    },
    "lightWeight": false
}
    
  

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

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


Метод для создания тега

POST /project/{ownerAlias}/{projectAlias}/tag/create

Запрос создает тег и возвращает информацию о нем. Тег можно создать на ветку или на коммит.

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта

Request

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

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

Переменная JSON Тип Описание
tagName String Название тега
brachName String Название ветки проекта
commitId String Хэш коммита
message String Описание тега

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

{
    "tagName": "3.2.1",
    "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
    "message": "Пример сообщения",
}

Responses

STATUS 200 - Успешное создание тега.

Пример ответа
    
{
    "name": "3.2.1",
    "fullName": "refs/tags/3.2.1",
    "objectId": "1a4cca6e2a5badaaaaaaaaaaaaf34aeeda3b4312",
    "shortMessage": "",
    "fullMessage": "",
    "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
    "personIdent": {
        "name": "user",
        "avatar": "/static/image/avatar.jpg",
        "emailAddress": "user@email.ru",
        "when": "2024-05-14T08:57:19Z"
    },
    "lightWeight": false
}
    
  

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

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


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

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

Компании: GET /company/{companyAlias}/tag-protection

Команды: GET /team/{teamAlias}/tag-protection

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

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

Responses

STATUS 200 - Правила защиты тегов возвращены:

Пример ответа
    
{
    "_embedded": {
        "restTagProtectionModelList": [
            {
                "tagTemplate": "**",
                "allowToCreate": "NO_ONE",
                "ownerType": "COMPANY",
                "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
            },
            {
                "tagTemplate": "Release-*",
                "allowToCreate": ADMINS",
                "ownerType": "COMPANY",
                "uuid": "df4f3dc7-aaaa-aaaa-aaaa-7009324ead56"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


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

Компании: GET /company/{companyAlias}/tag-protection/{tagProtectionUuid}

Команды: GET /team/{teamAlias}/tag-protection/{tagProtectionUuid}

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании
teamAlias String Псевдоним команды
tagProtectionUuid String UUID правила защиты тегов

Responses

STATUS 200 - Правило защиты тегов возвращено:

Пример ответа
    
{
    "tagTemplate": "**",
    "allowToCreate": "NO_ONE",
    "ownerType": "COMPANY",
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
}
    
  

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

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


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

Компании: POST /company/{companyAlias}/tag-protection/create

Команды: POST /team/{teamAlias}/tag-protection/create

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

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

Request

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

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

Поле Тип Описание
tagTemplate String Шаблон названия защищенного тега
allowToCreate String Минимальная роль участников, которым разрешено создание защищенных тегов. Возможные значения: NO_ONE - никому, DEVELOPER - разработчикам и выше, ADMINS - администраторам и выше

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

{
    "tagTemplate": "**",
    "allowToCreate": "ADMINS"
}

Responses

STATUS 200 - Правило защиты тегов создано:

Пример ответа
    
{
    "tagTemplate": "**",
    "allowToCreate": "NO_ONE",
    "ownerType": "COMPANY",
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
}
    
  

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

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

STATUS 422 - В теле запроса не указано обязательно поле.


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

Компании: PATCH /company/{companyAlias}/tag-protection/edit

Команды: PATCH /team/{teamAlias}/tag-protection/edit

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

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

Request

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

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

Поле Тип Описание
uuid String UUID правила защиты тегов
allowToCreate String Минимальная роль участников, которым разрешено создание защищенных тегов. Возможные значения: NO_ONE - никому, DEVELOPER - разработчикам и выше, ADMINS - администраторам и выше

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

{
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19",
    "allowToCreate": "ADMINS"
}

Responses

STATUS 200 - Правило защиты тегов изменено:

Пример ответа
    
{
    "tagTemplate": "**",
    "allowToCreate": "NO_ONE",
    "ownerType": "COMPANY",
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
}
    
  

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

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

STATUS 422 - В теле запроса не указано обязательно поле.


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

Компании: DELETE /company/{companyAlias}/tag-protection/{tagProtectionUuid}

Команды: DELETE /team/{teamAlias}/tag-protection/{tagProtectionUuid}

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

Переменная пути запроса Тип Описание
companyAlias String Псевдоним компании
teamAlias String Псевдоним команды
tagProtectionUuid String UUID правила защиты тегов

Responses

STATUS 204 - Правило защиты тегов удалено:

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

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


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

Компании: POST /company/{companyAlias}/tag-protection/apply-settings-to-projects

Команды: POST /team/{teamAlias}/tag-protection/apply-settings-to-projects

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

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

Responses

STATUS 204 - Правила защиты тегов применены ко всем дочерним проектам:

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

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