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

Методы пакетов уровня проекта


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

GET /registry/project/{ownerAlias}/{projectAlias}/package

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "simplePackageInfoModelList": [
            {
                "id": "23920af6-aaaa-aaaa-aaaa-396811188f65",
                "name": "Package",
                "version": "1.0.0",
                "groupId": "group",
                "artifactId": "artefact",
                "type": "generic",
                "ownerUuid": "fc7f17df-aaaa-aaaa-aaaa-111042a265b8",
                "ownerType": "PROJECT"
            },
            {
                "id": "deb52e29-aaaa-aaaa-aaaa-737eac0eb8f7",
                "name": "Example",
                "version": "1.0.3",
                "groupId": "example",
                "artifactId": "example",
                "type": "nuget",
                "ownerUuid": "fc7f17df-aaaa-aaaa-aaaa-189042a111b8",
                "ownerType": "PROJECT"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод получения пакета проекта по UUID

GET /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "7eeda8b0-aaaa-aaaa-aaaa-bd1fed06bf95",
    "name": "Package",
    "version": "1.0.1",
    "groupId": "Package",
    "artifactId": "Package",
    "type": "generic",
    "ownerUuid": "fc7f17df-aaaa-aaaa-aaaa-189042a111b8",
    "ownerType": "PROJECT"
}
    
  

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

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


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

GET /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}/version-list

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "simplePackageVersionModelList": [
            {
                "id": "fb97db0e-aaaa-aaaa-aaaa-9a95f4f36e9a",
                "baseVersion": "1.2.3",
                "version": "1.2.3",
                "lowerVersion": "1.2.3",
                "downloadCount": 12,
                "languageVersion": null,
                "packageUploadType": "MANUALLY",
                "packageFiles": [
                    {
                        "id": "6dd3bea5-aaaa-aaaa-aaaa-c49a0025279c",
                        "name": "gitflic-helper",
                        "size": 631382,
                        "hashMd5": "518e87b56adeaaaaaaaa9b6575399e1e",
                        "hashSHA1": "d06a0844f92daaaaaaaaaaaaaaaa275c448ce0e1",
                        "hashSHA256": "ad98cee24564aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac56a27d22ac1",
                        "packageUploadType": "MANUALLY",
                        "createdAt": "2024-08-01T06:57:07.150295"
                    }
                ],
                "internal": null
            },
            {
                "id": "800cad33-aaaa-aaaa-aaaa-8ba5864b4914",
                "baseVersion": "2.4.7",
                "version": "2.4.7",
                "lowerVersion": "2.4.7",
                "downloadCount": 31,
                "languageVersion": null,
                "packageUploadType": "API",
                "packageFiles": [
                    {
                        "id": "684068a6-aaaa-aaaa-aaaa-bebea0e2b46a",
                        "name": "gitflic.ssh",
                        "size": 4325,
                        "hashMd5": "d41d8cd98f00aaaaaaaa0998ecf8427e",
                        "hashSHA1": "da39a3ee5e6baaaaaaaaaaaaaaaa1890afd80709",
                        "hashSHA256": "e3b0c44298fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa991b7852b855",
                        "packageUploadType": "API",
                        "createdAt": "2024-07-31T14:02:49.393146"
                    }
                ],
                "internal": null
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


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

GET /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}/{packageVersion}

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "fb97db0e-aaaa-aaaa-aaaa-9a95f4f36e9a",
    "baseVersion": "1.2.3",
    "version": "1.2.3",
    "lowerVersion": "1.2.3",
    "downloadCount": 12,
    "languageVersion": null,
    "packageUploadType": "MANUALLY",
    "packageFiles": [
        {
            "id": "6dd3bea5-aaaa-aaaa-aaaa-c49a0025279c",
            "name": "gitflic-helper",
            "size": 631382,
            "hashMd5": "518e87b56adeaaaaaaaa9b6575399e1e",
            "hashSHA1": "d06a0844f92daaaaaaaaaaaaaaaa275c448ce0e1",
            "hashSHA256": "ad98cee24564aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac56a27d22ac1",
            "packageUploadType": "MANUALLY",
            "createdAt": "2024-08-01T06:57:07.150295"
        }
    ],
    "internal": null
}
    
  

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

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


Метод получения информации о содержимом пакета проекта

GET /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}/package-file

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "simplePackageFileModelList": [
            {
                "id": "6dd3bea5-aaaa-aaaa-aaaa-c49a0025279c",
                "name": "gitflic-helper",
                "size": 631382,
                "hashMd5": "518e87b56adeaaaaaaaa9b6575399e1e",
                "hashSHA1": "d06a0844f92daaaaaaaaaaaaaaaa275c448ce0e1",
                "hashSHA256": "ad98cee24564aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac56a27d22ac1",
                "packageUploadType": "MANUALLY",
                "createdAt": "2024-08-01T06:57:07.150295"
            },
            {
                "id": "684068a6-aaaa-aaaa-aaaa-bebea0e2b46a",
                "name": "gitflic.ssh",
                "size": 4325,
                "hashMd5": "d41d8cd98f00aaaaaaaa0998ecf8427e",
                "hashSHA1": "da39a3ee5e6baaaaaaaaaaaaaaaa1890afd80709",
                "hashSHA256": "e3b0c44298fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa991b7852b855",
                "packageUploadType": "API",
                "createdAt": "2024-07-31T14:02:49.393146"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

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

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


Метод удаления пакета проекта

POST /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}/delete

Метод удаляет пакет проекта

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

Responses

STATUS 200 - Пакет удален.

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

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


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

POST /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}/{packageVersion}/delete

Метод удаляет версию пакета проекта

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

Responses

STATUS 200 - Версия удалена.

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

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


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

POST /registry/project/{ownerAlias}/{projectAlias}/package/{packageUuid}/{packageVersion}/{fileUuid}/delete

Метод удаляет содержимое версии пакета проекта

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageUuid String Идентификатор пакета
packageVersion String Версия пакета
fileUuid String Идентификатор файла

Responses

STATUS 200 - Файл удален.

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

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


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

GET /registry/project/{ownerAlias}/{projectAlias}/package/generic/{packageName}/{packageVersion}/{fileName}

Запрос возвращает файл пакета generic

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageName String Имя пакета
packageVersion String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Содержимое пакета получено.

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

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


Метод обновления содержимого пакета generic

PUT /registry/project/{ownerAlias}/{projectAlias}/package/generic/{packageName}/{packageVersion}/{fileName}

Запрос загружает прикрепленный файл в указанную версию пакета generic. С помощью данного метода можно создать новую версию пакета или пакет целиком, при условии указания не существующих данных.

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageName String Имя пакета
packageVersion String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Пакет загружен.

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

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


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

GET /registry/project/{ownerAlias}/{projectAlias}/package/pypi/{packageName}/{packageVersion}/{fileName}

Запрос возвращает файл пакета PyPi

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageName String Имя пакета
packageVersion String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Содержимое пакета получено.

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

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


Метод обновления содержимого пакета PyPI

PUT /registry/project/{ownerAlias}/{projectAlias}/package/pypi/{packageName}/{packageVersion}/{fileName}

Запрос загружает прикрепленный файл в указанную версию пакета PyPi. С помощью данного метода можно создать новую версию пакета или пакет целиком, при условии указания не существующих данных.

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageName String Имя пакета
packageVersion String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Пакет загружен.

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

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


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

GET /registry/project/{ownerAlias}/{projectAlias}/package/maven/{packageUuid}/{packageVersion}/{fileUuid}/download

Запрос возвращает файл пакета Maven

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageUuid String Идентификатор пакета
packageVersion String Версия пакета
fileUuid String Идентификатор файла

Responses

STATUS 200 - Содержимое пакета получено.

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

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


Метод обновления содержимого пакета Maven

PUT /registry/project/{ownerAlias}/{projectAlias}/package/maven/{groupId}/{artifactId}/{version}/{fileName}

Запрос загружает прикрепленный файл в указанную версию пакета Maven. С помощью данного метода можно создать новую версию пакета или пакет целиком, при условии указания не существующих данных.

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
groupId String Идентификатор группы
artifactId String Идентификатор артефакта
version String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Пакет загружен.

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

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


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

В зависимости от наличия группы пакетов (scope) необходимо использовать один из перечисленных ниже методов:

Получение пакета, для которого не указана группа (scope):

GET /registry/project/{ownerAlias}/{projectAlias}/package/npm/{packageName}/{packageVersion}/{fileName}

Получение пакета, для которого указана группа (scope):

GET /registry/project/{ownerAlias}/{projectAlias}/package/npm/{packageName}/{packageScope}/{packageVersion}/{fileName}

Запрос возвращает файл пакета npm

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageName String Имя пакета
packageScope String Группа пакетов (scope)
packageVersion String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Содержимое пакета получено.

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

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


Метод обновления содержимого пакета npm

В зависимости от наличия группы пакетов (scope) необходимо использовать один из перечисленных ниже методов:

Обновление пакета, для которого не указана группа (scope):

PUT /registry/project/{ownerAlias}/{projectAlias}/package/npm/{packageName}/{packageVersion}/{fileName}

Обновление пакета, для которого указана группа (scope):

PUT /registry/project/{ownerAlias}/{projectAlias}/package/npm/{packageName}/{packageScope}/{packageVersion}/{fileName}

Запрос загружает прикрепленный файл в указанную версию пакета npm. С помощью данного метода можно создать новую версию пакета или пакет целиком, при условии указания не существующих данных.

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
packageName String Имя пакета
paсkageScope String Область видимости
packageVersion String Версия пакета
fileName String Имя файла

Responses

STATUS 200 - Пакет загружен.

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

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


Метод создания composer пакета по тегу

POST /project/{ownerAlias}/{projectAlias}/package/-/composer?tag={tagName}

Метод собирает composer пакет из файлов репозитория по указанному тегу и размещает его в Реестре контейнеров и пакетов проекта.

Обратите внимание, данный запрос необходимо отправлять на URL, на котором расположен registry: * для SaaS версии - https://registry.gitflic.ru * для self-hosted localhost:8080

Порт для self-hosted версии может отличаться

Пример:

https://registry.gitflic.ru/project/adminuser/test_project/package/-/composer?tag=1.2.3

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

Авторизация для данного метода происходит с помощью Basic Auth. Для заголовка Authorization необходимо предоставить зашифрованные с помощью base64 учётные данные - Basic {login}:{transportToken}

Пример
    
Учетные данные adminuser@admin.local:qwerty123 в plain text будут иметь следующий вид в base64 в заголовке:
Authorization - Basic YWRtaW51c2VyQGFkbWluLmxvY2FsOnF3ZXJ0eTEyMw==
    
  
Учетные данные Тип Описание
login String Псевдоним пользователя
transportToken String Транспортный токен

С инструкцией по получению токена можно ознакомиться на странице.

Responses

STATUS 200 - Пакет создан и добавлен в Реестр контейнеров и пакетов.

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

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