Репозитории реестра
Функционал доступен в Enterprise и Atlas версиях.
Описание работы функционала репозиториев реестра доступно здесь.
Описание структуры JSON-объекта, описывающего репозиторий реестра
Поле | Тип | Описание |
---|---|---|
title |
String | Название репозитория реестра |
repositoryType |
String | Тип репозитория реестра. Возможные значения: LOCAL , PROXY , LOCAL_CACHE , VIRTUAL , TRASH_CAN |
repositoryUuid |
String | UUID репозитория реестра |
packageType |
String | Тип пакетов репозитория реестра. Возможные значения: generic , maven , npm , pypi , nuget , composer , opm , debian , container , helm , cran , rpm |
description |
String | Описание репозитория реестра |
Метод получения всех репозиториев реестра
Проекта: GET /registry/project/{ownerAlias}/{projectAlias}/repositories
Компании: GET /registry/company/{companyAlias}/repositories
Всего сервиса: GET /registry/instance/{projectAlias}/repositories
Запрос возвращает список репозиториев реестра указанного владельца, есть возможность настройки количества отображаемых объектов на странице.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
companyAlias |
String | Псевдоним компании |
Responses
STATUS 200
- Список репозиториев реестра успешно возвращен:
Пример ответа
{
"_embedded": {
"shortRegistryRepositoryDtoList": [
{
"title": "generic-local",
"repositoryType": "LOCAL",
"repositoryUuid": "b24769db-aaaa-aaaa-aaaa-a3006f0271f6",
"packageType": "generic",
"description": "Локальный репозиторий generic реестра",
},
{
"title": "maven-proxy",
"repositoryType": "PROXY",
"repositoryUuid": "ddc72f64-aaaa-aaaa-aaaa-e212e088bffc",
"packageType": "maven",
"description": "Проксирующий репозиторий maven реестра",
},
{
"title": "maven-proxy-cache",
"repositoryType": "LOCAL_CACHE",
"repositoryUuid": "fa6d59b5-aaaa-aaaa-aaaa-cf1806aa929c",
"packageType": "maven",
"description": null,
}
{
"title": "maven-virtual",
"repositoryType": "VIRTUAL",
"repositoryUuid": "3cd7ccd1-aaaa-aaaa-aaaa-a1bfd03f9801",
"packageType": "maven",
"description": "Виртуальный репозиторий maven реестра",
},
{
"title": "trashCan",
"repositoryType": "TRASH_CAN",
"repositoryUuid": "e510b751-aaaa-aaaa-aaaa-737daa2e7210",
"packageType": "generic",
"description": null,
},
]
},
"page": {
"size": 10,
"totalElements": 5,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод получения репозитория реестра по UUID
Проекта: GET /registry/project/{ownerAlias}/{projectAlias}/repositories/{registryRepositoryUuid}
Компании: GET /registry/company/{companyAlias}/repositories/{registryRepositoryUuid}
Всего сервиса: GET /registry/instance/{projectAlias}/repositories/{registryRepositoryUuid}
Запрос возвращает репозиторий реестра указанного владельца по указанному UUID.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
companyAlias |
String | Псевдоним компании |
registryRepositoryUuid |
String | UUID репозитория реестра |
Responses
STATUS 200
- Репозиторий реестра успешно возвращен:
Пример ответа
{
"title": "generic-local",
"repositoryType": "LOCAL",
"repositoryUuid": "b24769db-aaaa-aaaa-aaaa-a3006f0271f6",
"packageType": "generic",
"description": "Локальный репозиторий generic реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод создания репозитория реестра
Проекта: POST /registry/project/{ownerAlias}/{projectAlias}/repositories
Компании: POST /registry/company/{companyAlias}/repositories
Всего сервиса: POST /registry/instance/{projectAlias}/repositories
Запрос создает репозиторий реестра во владении указанной сущности и возвращает его UUID.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
companyAlias |
String | Псевдоним компании |
Request
Поддерживаемый формат JSON
В зависимости от набора полей, которые передаются в теле запроса, возможно создание локального, проксирующего или виртуального репозитория.
Поля для создания локального репозитория
Параметр | Тип | Описание |
---|---|---|
type |
String | Тип репозитория реестра. Для создания локального репозитория необходимо указать значение LOCAL |
repositoryName |
String | Название репозитория реестра |
description |
String | Не обязательный. Описание репозитория реестра |
packageType |
String | Тип пакетов репозитория реестра. Возможные значения: generic , maven , npm , pypi , nuget , composer , opm , debian , container , helm , cran , rpm |
settings |
Object | Объект с полями, описывающими настройки локального репозитория |
Набор полей, описывающих настройки локального репозитория:
Параметр | Тип | Описание |
---|---|---|
hasAnonymousAccess |
Boolean | Не обязательный. Анонимный доступ разрешен true или запрещен false (по умолчанию) |
isDeletePackageAllowed |
Boolean | Не обязательный. Удаление пакетов разрешено true или запрещено false (по умолчанию) |
packageReuploadType |
String | Не обязательный. Тип перезаписи пакетов. Возможные значения: NONE - запрет перезаписывания или OVERRIDE - перезапись файлов (по умолчанию) |
Пример JSON объекта
{
"type" : "LOCAL",
"repositoryName": "generic-local",
"description": "Локальный репозиторий generic реестра",
"packageType": "generic",
"settings": {
"hasAnonymousAccess": true,
"isDeletePackageAllowed": true,
"packageReuploadType": "OVERRIDE"
}
}
STATUS 201
- Локальный репозиторий реестра успешно создан:
Пример ответа
{
"title": "generic-local",
"repositoryType": "LOCAL",
"repositoryUuid": "b24769db-aaaa-aaaa-aaaa-a3006f0271f6",
"packageType": "generic",
"description": "Локальный репозиторий generic реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Поля для создания проксирующего репозитория
Параметр | Тип | Описание |
---|---|---|
type |
String | Тип репозитория реестра. Для создания проксирующего репозитория необходимо указать значение PROXY |
repositoryName |
String | Название репозитория реестра |
description |
String | Не обязательный. Описание репозитория реестра |
packageType |
String | Тип пакетов репозитория реестра. Возможные значения: maven , npm , pypi , nuget , container |
proxySettings |
Object | Объект с полями, описывающими настройки проксирующего репозитория |
Набор полей, описывающих настройки проксирующего репозитория:
Параметр | Тип | Описание |
---|---|---|
url |
String | Ссылка на внешний реестр, куда будут проксироваться запросы |
username |
String | Не обязательный. Имя пользователя для авторизации во внешнем реестре |
token |
String | Не обязательный. Токен или пароль для авторизации во внешнем реестре |
isCaching |
Boolean | Не обязательный. Репозиторий будет сохранять кэшированные артефакты локально true или нет false (по умолчанию) |
isOffline |
Boolean | Не обязательный. Получение артефактов возможно только из локального кэша true или нет false (по умолчанию) |
expireHours |
Integer | Не обязательный. Время жизни неиспользуемых артефактов (в часах). При значении 0 (по умолчанию) указывает на отсутствие ограничения. |
metadataRetrievalIntervalSeconds |
Integer | Не обязательный. Период кэширования метаданных артефакта (в секундах). Значение 0 указывает на отсутствие кэширования. По умолчанию 7200. |
Пример JSON объекта
{
"type" : "PROXY",
"repositoryName": "maven-proxy",
"description": "Проксирующий репозиторий maven реестра",
"packageType": "maven",
"proxySettings": {
"url": "https://repo.maven.apache.org/maven2/",
"username": "username",
"isCaching": true,
"token": "qwerty123",
"isOffline": false,
"expireHours": 24,
"metadataRetrievalIntervalSeconds": 7200
}
}
Responses
STATUS 201
- Проксирующий репозиторий реестра успешно создан:
Пример ответа
{
"title": "maven-proxy",
"repositoryType": "PROXY",
"repositoryUuid": "ddc72f64-aaaa-aaaa-aaaa-e212e088bffc",
"packageType": "maven",
"description": "Проксирующий репозиторий maven реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Поля для создания виртуального репозитория
Параметр | Тип | Описание |
---|---|---|
type |
String | Тип репозитория реестра. Для создания виртуального репозитория необходимо указать значение VIRTUAL |
repositoryName |
String | Название репозитория реестра |
description |
String | Не обязательный. Описание репозитория реестра |
packageType |
String | Тип пакетов репозитория реестра. Возможные значения: generic , maven , npm , pypi , nuget , composer , opm , debian , container , helm , cran , rpm |
virtualSettings |
Object | Объект с полями, описывающими настройки виртуального репозитория |
Настройки виртуального репозитория:
Параметр | Тип | Описание |
---|---|---|
includedRepositoryUuids |
Array | Массив, содержащий UUID репозиториев реестра, которые будет включены в создаваемый виртуальный репозиторий |
allowRemoteProxying |
Boolean | Не обязательный. Запросы к проксирующим репозиториям могут извлекать проксируемые пакеты true или не могут false (по умолчанию) |
deploymentRepositoryUuid |
String | Не обязательный. UUID локального репозитория реестра, выбранного в качестве репозитория развертывания по умолчанию |
Пример JSON объекта
{
"type" : "VIRTUAL",
"repositoryName": "maven-virtual",
"description": "Виртуальный репозиторий maven реестра",
"packageType": "maven",
"virtualSettings": {
"includedRepositoryUuids": [
"ddc72f64-aaaa-aaaa-aaaa-e212e088bffc",
"fa6d59b5-aaaa-aaaa-aaaa-cf1806aa929c"
]
"allowRemoteProxying": true
"deploymentRepositoryUuid": "fa6d59b5-aaaa-aaaa-aaaa-cf1806aa929c"
}
}
Responses
STATUS 201
- Виртуальный репозиторий реестра успешно создан:
Пример ответа
{
"title": "maven-virtual",
"repositoryType": "VIRTUAL",
"repositoryUuid": "3cd7ccd1-aaaa-aaaa-aaaa-a1bfd03f9801",
"packageType": "maven",
"description": "Виртуальный репозиторий maven реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод изменения репозитория реестра
Проекта: PUT /registry/project/{ownerAlias}/{projectAlias}/repositories/{registryRepositoryUuid}
Компании: PUT /registry/company/{companyAlias}/repositories/{registryRepositoryUuid}
Всего сервиса: PUT /registry/instance/repositories/{registryRepositoryUuid}
Запрос изменяет указанный репозиторий реестра указанного владельца и возвращает его UUID.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
companyAlias |
String | Псевдоним компании |
registryRepositoryUuid |
String | UUID репозитория реестра |
Request
Поддерживаемый формат JSON
В зависимости от набора полей, которые передаются в теле запроса, возможно изменение локального, проксирующего или виртуального репозитория.
Поля для изменения локального репозитория
Параметр | Тип | Описание |
---|---|---|
type |
String | Тип репозитория реестра. Для изменения локального репозитория необходимо указать значение LOCAL |
description |
String | Не обязательный. Описание репозитория реестра |
settings |
Object | Объект с полями, описывающими настройки локального репозитория |
Набор полей, описывающих настройки локального репозитория:
Параметр | Тип | Описание |
---|---|---|
hasAnonymousAccess |
Boolean | Не обязательный. Анонимный доступ разрешен true или запрещен false (по умолчанию) |
isDeletePackageAllowed |
Boolean | Не обязательный. Удаление пакетов разрешено true или запрещено false (по умолчанию) |
packageReuploadType |
String | Не обязательный. Тип перезаписи пакетов. Возможные значения: NONE - запрет перезаписывания или OVERRIDE - перезапись файлов |
Пример JSON объекта
{
"type" : "LOCAL",
"description": "Локальный репозиторий generic реестра",
"settings": {
"hasAnonymousAccess": true,
"isDeletePackageAllowed": true,
"packageReuploadType": "OVERRIDE"
}
}
Responses
STATUS 200
- Локальный репозиторий реестра успешно изменен:
Пример ответа
{
"title": "generic-local",
"repositoryType": "LOCAL",
"repositoryUuid": "b24769db-aaaa-aaaa-aaaa-a3006f0271f6",
"packageType": "generic",
"description": "Локальный репозиторий generic реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Поля для изменения проксирующего репозитория
Параметр | Тип | Описание |
---|---|---|
type |
String | Тип репозитория реестра. Для изменения проксирующего репозитория необходимо указать значение PROXY |
description |
String | Не обязательный. Описание репозитория реестра |
proxySettings |
Object | Объект с полями, описывающими настройки проксирующего репозитория |
Набор полей, описывающих настройки проксирующего репозитория:
Параметр | Тип | Описание |
---|---|---|
url |
String | Не обязательный. Ссылка на внешний реестр, куда будут проксироваться запросы |
username |
String | Не обязательный. Имя пользователя для авторизации во внешнем реестре |
token |
String | Не обязательный. Токен или пароль для авторизации во внешнем реестре |
isCaching |
Boolean | Не обязательный. Репозиторий будет сохранять кэшированные артефакты локально true или нет false |
isOffline |
Boolean | Не обязательный. Получение артефактов возможно только из локального кэша true или нет false (по умолчанию) |
expireHours |
Integer | Не обязательный. Время жизни неиспользуемых артефактов (в часах) |
metadataRetrievalIntervalSeconds |
Integer | Не обязательный. Период кэширования метаданных артефакта (в секундах) |
Пример JSON объекта
{
"type" : "PROXY",
"description": "Проксирующий репозиторий maven реестра",
"proxySettings": {
"url": "https://repo.maven.apache.org/maven2/",
"username": "username",
"isCaching": true,
"token": "qwerty123",
"isOffline": false,
"expireHours": 24,
"metadataRetrievalIntervalSeconds": 7200
}
}
Responses
STATUS 200
- Проксирующий репозиторий реестра успешно изменен:
Пример ответа
{
"title": "maven-proxy",
"repositoryType": "PROXY",
"repositoryUuid": "ddc72f64-aaaa-aaaa-aaaa-e212e088bffc",
"packageType": "maven",
"description": "Проксирующий репозиторий maven реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Поля для изменения виртуального репозитория
Параметр | Тип | Описание |
---|---|---|
type |
String | Тип репозитория реестра. Для изменения виртуального репозитория необходимо указать значение VIRTUAL |
description |
String | Не обязательный. Описание репозитория реестра |
virtualSettings |
Object | Объект с полями, описывающими настройки виртуального репозитория |
Настройки виртуального репозитория:
Параметр | Тип | Описание |
---|---|---|
includedRepositoryUuids |
Array | Не обязательный. Массив, содержащий UUID репозиториев реестра, которые будет включены в изменяемый виртуальный репозиторий |
allowRemoteProxying |
Boolean | Не обязательный. Запросы к проксирующим репозиториям могут извлекать проксируемые пакеты true или не могут false (по умолчанию) |
deploymentRepositoryUuid |
String | Не обязательный. UUID локального репозитория реестра, выбранного в качестве репозитория развертывания по умолчанию |
При изменении одного из полей
deploymentRepositoryUuid
илиincludedRepositoryUuids
необходимо передавать оба.
Пример JSON объекта
{
"type" : "VIRTUAL",
"description": "Виртуальный репозиторий maven реестра",
"virtualSettings": {
"includedRepositoryUuids": [
"ddc72f64-aaaa-aaaa-aaaa-e212e088bffc",
"fa6d59b5-aaaa-aaaa-aaaa-cf1806aa929c"
]
"allowRemoteProxying": true
"deploymentRepositoryUuid": "fa6d59b5-aaaa-aaaa-aaaa-cf1806aa929c"
}
}
Responses
STATUS 200
- Виртуальный репозиторий реестра успешно изменен:
Пример ответа
{
"title": "maven-virtual",
"repositoryType": "VIRTUAL",
"repositoryUuid": "3cd7ccd1-aaaa-aaaa-aaaa-a1bfd03f9801",
"packageType": "maven",
"description": "Виртуальный репозиторий maven реестра",
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод удаления репозитория реестра
Проекта: DELETE /registry/project/{ownerAlias}/{projectAlias}/repositories/{registryRepositoryUuid}
Компании: DELETE /registry/company/{companyAlias}/repositories/{registryRepositoryUuid}
Всего сервиса: DELETE /registry/instance/repositories/{registryRepositoryUuid}
Запрос удаляет указанный репозиторий реестра проекта.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
companyAlias |
String | Псевдоним компании |
registryRepositoryUuid |
String | UUID репозитория реестра |
Responses
STATUS 204
- Репозиторий реестра успешно удален.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.