Релизы


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

Поле Тип Описание
id String ID релиза
title String Название релиза
projectId String ID проекта
authorId String ID автора последнего изменения релиза
description String Описание релиза
tagName String Название тега
commitId String ID коммита, на котором создан тег
createdAt Date Дата создания
updatedAt Date Дата редактирования
attachmentFiles Array Прикрепленные файлы
preRelease Boolean Пререлиз true или нет false

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

Поле Тип Описание
name String Название файла
link String Ссылка на файл
size Integer Размер файла в байтах
hashMd5 String Хеш в формате hashMd5
hashSha1 String Хеш в формате Sha1
hashSha256 String Хеш в формате Sha256
hashSha512 String Хеш в формате Sha512

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

GET /project/{ownerAlias}/{projectAlias}/release

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

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "releaseTagModelList": [
            {
                "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680",
                "title": "Название",
                "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
                "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
                "description": "Описание",
                "tagName": "2.14.5",
                "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb",
                "createdAt": "2024-05-17T09:59:30.635513Z",
                "updatedAt": "2024-05-17T09:59:30.635515Z",
                "attachmentFiles":[
                    {
                        "name": "file.zip",
                        "link": "https://gitflic.ru/project/user/test_project/release/d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217",
                        "size": 158267,
                        "hashMd5": "fff118534ecd753fc31ffh8ccb48e4c4",
                        "hashSha1": "d3b911c9ccdffc0de2c5ge8ae4907aa5ef00aa86",
                        "hashSha256": "33645ddcc7d5add5df70d27e59cef069d52887d6f3d41eec104eda3d1e7221b7",
                        "hashSha512": "261c9efed1f692f16127r6c02c045ae3779da7c7cf8c8f20ef81f9988e7f6b4414630cc2020011bcfe2aab2372d4cb7ded9985433cd68da42e571b83526c48c6"
                    }
                ],
                "preRelease": true
            },
            {
                "id": "abd2dd36-aaaa-aaaa-aaaa-f5912049a768",
                "title": "New Release",
                "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
                "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
                "description": "New some description",
                "tagName": "6.8.3",
                "commitId": "1b9eda1f6277f9aaaaaaaaaaaaff73fcf658ac16",
                "createdAt": "2024-05-17T11:12:21.954598Z",
                "updatedAt": "2024-05-17T11:12:21.954600Z",
                "attachmentFiles":[
                    {
                        "name": "test.zip",
                        "link": "https://gitflic.ru/project/user/test_project/release/60b1530c-aaaa-aaaa-aaaa-05b3976cfe3d/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217",
                        "size": 567865,
                        "hashMd5": "fff11853decd7w3fc31fbd8ccb48e4c4",
                        "hashSha1": "d3b911d9ccdffc0de2c57e8ae4w07aa5ef00aa86",
                        "hashSha256": "33645ddcc7d5add5d770427e59cefd69d52887d6f3d41eec104eda3d1e7221b7",
                        "hashSha512": "261c9efed1f692f1612e26c02c045ae3779da7c7cf8c8e20efd1f9988e7f6b4414230cc2020011bcfe2aab2342d4cb7ded9995433cd68da42e571b83526c48c6"
                    }
                ],
                "preRelease": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


Метод для получения релиза по uuid

GET /project/{ownerAlias}/{projectAlias}/release/{releaseUuid}

Запрос возвращает релиз по uuid.

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680",
    "title": "Название",
    "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
    "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "Описание",
    "tagName": "2.14.5",
    "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb",
    "createdAt": "2024-05-17T09:59:30.635513Z",
    "updatedAt": "2024-05-17T09:59:30.635515Z",
    "attachmentFiles":[
        {
            "name": "file.zip",
            "link": "https://gitflic.ru/project/user/test_project/release/d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217",
            "size": 158267,
            "hashMd5": "fff118534ecd753fc31ffh8ccb48e4c4",
            "hashSha1": "d3b911c9ccdffc0de2c5ge8ae4907aa5ef00aa86",
            "hashSha256": "33645ddcc7d5add5df70d27e59cef069d52887d6f3d41eec104eda3d1e7221b7",
            "hashSha512": "261c9efed1f692f16127r6c02c045ae3779da7c7cf8c8f20ef81f9988e7f6b4414630cc2020011bcfe2aab2372d4cb7ded9985433cd68da42e571b83526c48c6"
        }
    ],
    "preRelease": true
}
    
  


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

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


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

GET /project/{ownerAlias}/{projectAlias}/release/latest

Запрос возвращает последний релиз

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

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680",
    "title": "Название",
    "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
    "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "Описание",
    "tagName": "2.14.5",
    "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb",
    "createdAt": "2024-05-17T09:59:30.635513Z",
    "updatedAt": "2024-05-17T09:59:30.635515Z",
    "attachmentFiles":[
        {
            "name": "file.zip",
            "link": "https://gitflic.ru/project/user/test_project/release/d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217",
            "size": 158267,
            "hashMd5": "fff118534ecd753fc31ffh8ccb48e4c4",
            "hashSha1": "d3b911c9ccdffc0de2c5ge8ae4907aa5ef00aa86",
            "hashSha256": "33645ddcc7d5add5df70d27e59cef069d52887d6f3d41eec104eda3d1e7221b7",
            "hashSha512": "261c9efed1f692f16127r6c02c045ae3779da7c7cf8c8f20ef81f9988e7f6b4414630cc2020011bcfe2aab2372d4cb7ded9985433cd68da42e571b83526c48c6"
        }
    ],
    "preRelease": true
}
    
  


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

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


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

POST /project/{ownerAlias}/{projectAlias}/release

Запрос создает и возвращает новый релиз

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

Request

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

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

Параметр Описание
title Название релиза
description Описание релиза
tagName Название тега
preRelease Предварительный релиз true или нет false

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

{
    "title": "Название",
    "description": "Описание",
    "tagName": "2.14.5",
    "preRelease": true
}

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680",
    "title": "Название",
    "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
    "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "Описание",
    "tagName": "2.14.5",
    "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb",
    "createdAt": "2024-05-17T09:59:30.635513Z",
    "updatedAt": "2024-05-17T09:59:30.635515Z",
    "attachmentFiles":[
        {
            "name": "file.zip",
            "link": "https://gitflic.ru/project/user/test_project/release/d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217",
            "size": 158267,
            "hashMd5": "fff118534ecd753fc31ffh8ccb48e4c4",
            "hashSha1": "d3b911c9ccdffc0de2c5ge8ae4907aa5ef00aa86",
            "hashSha256": "33645ddcc7d5add5df70d27e59cef069d52887d6f3d41eec104eda3d1e7221b7",
            "hashSha512": "261c9efed1f692f16127r6c02c045ae3779da7c7cf8c8f20ef81f9988e7f6b4414630cc2020011bcfe2aab2372d4cb7ded9985433cd68da42e571b83526c48c6"
        }
    ],
    "preRelease": true
}
    
  


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

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


Метод для редактирования информации о релизе

PUT /project/{ownerAlias}/{projectAlias}/release/{releaseUuid}

Редактирование информации о релизе по ID.

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

Request

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

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

Параметр Описание
title Название релиза
description Описание релиза
tagName Тег
preRelease Предварительный релиз true или нет false

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

{
    "title": "Название",
    "description": "Описание",
    "tagName": "2.14.5",
    "preRelease": true
}

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680",
    "title": "Название",
    "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
    "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "Описание",
    "tagName": "2.14.5",
    "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb",
    "createdAt": "2024-05-17T09:59:30.635513Z",
    "updatedAt": "2024-05-17T09:59:30.635515Z",
    "attachmentFiles":[
        {
            "name": "file.zip",
            "link": "https://gitflic.ru/project/user/test_project/release/d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217",
            "size": 158267,
            "hashMd5": "fff118534ecd753fc31ffh8ccb48e4c4",
            "hashSha1": "d3b911c9ccdffc0de2c5ge8ae4907aa5ef00aa86",
            "hashSha256": "33645ddcc7d5add5df70d27e59cef069d52887d6f3d41eec104eda3d1e7221b7",
            "hashSha512": "261c9efed1f692f16127r6c02c045ae3779da7c7cf8c8f20ef81f9988e7f6b4414630cc2020011bcfe2aab2372d4cb7ded9985433cd68da42e571b83526c48c6"
        }
    ],
    "preRelease": true
}
    
  


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

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


Метод для добавления файла к релизу

POST /project/{ownerAlias}/{projectAlias}/release/{releaseUuid}/file

Загрузка новых файлов к релизу с помощью multipart request

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

Request

Поддерживаемый формат: multipart/form-data

Ключ Тип
files file

Responses

STATUS 200 - Добавление прошло успешно:

Пример ответа
    
{
    "id": "da44fbf3-720c-413b-8e6c-1df9cc3c1598",
    "title": "Release1",
    "projectId": "f239feb2-ded6-4998-9730-21617502b1cf",
    "authorId": "fbc3d462-a2e4-42bf-a6ec-6990c978d786",
    "description": "some sssss description",
    "tagName": "votTak",
    "commitId": "b3fff4ead6c0fc31cfdd62018934974af39b5bcb",
    "createdAt": "2022-05-06T14:30:27.939457Z",
    "updatedAt": "2022-05-06T14:30:27.939468Z",
    "attachmentFiles": [
        {
            "name": "csv-parser-1.1.zip",
            "link": "localhost:8080/rest-api/project/dbi471/webhooks-test/release/dd44fbf1-720c-413b-8e6c-1df9cc3c1598/file/csv-parser-1.1.zip"
        }
    ],
    "preRelease": false
}
    


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

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


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

GET /project/{ownerAlias}/{projectAlias}/release/{releaseUuid}/file/{fileUuid}

Запрос скачивает файл, прикрепленный к релизу

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

Responses

Поддерживаемый формат: application/octet-stream

STATUS 200 - Файл был отдан

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

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


Метод для удаления файлов из релиза

DELETE /project/{ownerAlias}/{projectAlias}/release/{releaseUuid}/file

Запрос удаляет файлы из релиза, в теле запроса принимается массив строк, содержащих id файлов для удаления.

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

Request

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

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

[
    "69ce0056-aaaa-aaaa-aaaa-f0d02969a891",
    "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82"
]


Responses

STATUS 200 - Удаление прошло успешно:

Пример ответа
    
{
    "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680",
    "title": "Название",
    "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
    "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "Описание",
    "tagName": "2.14.5",
    "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb",
    "createdAt": "2024-05-17T09:59:30.635513Z",
    "updatedAt": "2024-05-17T09:59:30.635515Z",
    "attachmentFiles": [],
    "preRelease": true
}
    
  


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

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


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

DELETE /project/{ownerAlias}/{projectAlias}/release/{releaseUuid}

Запрос удаляет релиз

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

Responses

STATUS 200 - Удаление прошло успешно.

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

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