Теги
Описание структуры 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
- Данные по запросу не найдены.