Проекты


Описание структуры JSON-объекта, описывающего проект
Поле Тип Описание
id String Уникальный ID проекта
title String Название проекта
description String Описание проекта
alias String Псевдоним проекта
defaultBranch String Стандартная ветка проекта
workBranch String Рабочая ветка проекта
siteUrl String Сайт проекта
owner Object Владелец проекта, описание структуры
language String Язык проекта
forEducation Boolean Образовательный проект true или обычный false
forkedFromId String ID проекта от которого был сделан форк
mirrorUrl String URL проекта от которого было сделано зеркало
mirrorType String Тип зеркала. Возможные значения: PULL и PUSH
allowedMemory String Допустимая память под проект
forkUrl String URL проекта от которого был сделан форк
httpTransportUrl String Ссылка на клонирование проекта по HTTPS
sshTransportUrl String Ссылка на клонирование проекта по SSH
topics Set (String) Массив, содержащий топики проекта
mirror Boolean Проект является зеркалом true или нет false
private Boolean Проект является приватным true или публичный false

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

Поле Тип Описание
alias String Псевдоним владельца
type String Тип владельца проекта. Возможные значения: USER, TEAM и COMPANY

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

GET /project?q={title}

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

Переменная пути запроса Тип Описание
q String Необязательный параметр. Название проекта

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "projectList": [
           {
                "id": "06a973fb-aaaa-aaaa-aaaa-d72a21b16087",
                "title": "Project",
                "description": "Repository example",
                "alias": "project",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "team",
                    "type": "TEAM"
                },
                "language": "Markdown",
                "forEducation": false,
                "forkedFromId": "87c79f93-aaaa-aaaa-aaaa-60d08fbbca7b",
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": "https://gitflic.ru/project/team/project",
                "httpTransportUrl": "https://gitflic.ru/project/team/project.git",
                "sshTransportUrl": "git@gitflic.ru:team/project.git",
                "topics": [
                    "gitflic",
                    "docs"
                ],
                "private": false,
                "mirror": false
            },
            {
                "id": "0ed38c25-aaaa-aaaa-aaaa-462c972efcc5",
                "title": "gitflic",
                "description": "example",
                "alias": "gitflic",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user",
                    "type": "USER"
                },
                "language": "java",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user/gitflic.git",
                "sshTransportUrl": "git@gitflic.ru:user/gitflic.git",
                "topics": [
                    "gitflic"
                ],
                "private": false,
                "mirror": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

GET /project/{ownerAlias}/{projectAlias}

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

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

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "0ed38c25-aaaa-aaaa-aaaa-462c972efcc5",
    "title": "gitflic",
    "description": "example",
    "alias": "gitflic",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "user",
        "type": "USER"
    },
    "language": "java",
    "forEducation": false,
    "forkedFromId": null,
    "pullMirrorUrl": null,
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "https://gitflic.ru/project/user/gitflic.git",
    "sshTransportUrl": "git@gitflic.ru:user/gitflic.git",
    "topics": [
        "gitflic"
    ],
    "private": false,
    "mirror": true
}
    
  


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

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


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

GET /project/{projectUuid}

Запрос возвращает проект с указанным uuid

Переменная пути запроса Тип Описание
projectUuid String ID проекта

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "90a99ad1-ea90-45bb-8e1d-9cba78b96ebf",
    "title": "projectname",
    "description": "test",
    "alias": "projectname",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "gitflicuser",
        "type": "USER"
    },
    "language": "Markdown",
    "forEducation": false,
    "forkedFromId": null,
    "mirrorUrl": null,
    "mirrorType": null,
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "http://localhost:8080/project/gitflicuser/projectname.git",
    "sshTransportUrl": "git@localhost:8080:gitflicuser/projectname.git",
    "topics": [
        "gitflic"
    ],
    "mirror": false,
    "private": true
}
    
  


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

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


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

GET /project/my?q={title}

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

Переменная пути запроса Тип Описание
q String Необязательный параметр. Название проекта

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "projectList": [
           {
                "id": "06a973fb-aaaa-aaaa-aaaa-d72a21b16087",
                "title": "Project",
                "description": "Repository example",
                "alias": "project",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user",
                    "type": "USER"
                },
                "language": "Markdown",
                "forEducation": false,
                "forkedFromId": "87c79f93-aaaa-aaaa-aaaa-60d08fbbca7b",
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": "https://gitflic.ru/project/team/project",
                "httpTransportUrl": "https://gitflic.ru/project/user/project.git",
                "sshTransportUrl": "git@gitflic.ru:team/project.git",
                "topics": [
                    "gitflic"
                ],
                "private": false,
                "mirror": false
            },
            {
                "id": "0ed38c25-aaaa-aaaa-aaaa-462c972efcc5",
                "title": "gitflic",
                "description": "example",
                "alias": "gitflic",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user",
                    "type": "USER"
                },
                "language": "java",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user/gitflic.git",
                "sshTransportUrl": "git@gitflic.ru:user/gitflic.git",
                "topics": [
                    "gitflic"
                ],
                "private": false,
                "mirror": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

GET /project/shared?q={title}

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

Переменная пути запроса Тип Описание
q String Необязательный параметр. Название проекта

Responses

Пример ответа
    
{
    "_embedded": {
        "projectList": [
           {
                "id": "06a973fb-aaaa-aaaa-aaaa-d72a21b16087",
                "title": "Project",
                "description": "Repository example",
                "alias": "project",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user",
                    "type": "USER"
                },
                "language": "Markdown",
                "forEducation": false,
                "forkedFromId": "87c79f93-aaaa-aaaa-aaaa-60d08fbbca7b",
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": "https://gitflic.ru/project/team/project",
                "httpTransportUrl": "https://gitflic.ru/project/user/project.git",
                "sshTransportUrl": "git@gitflic.ru:team/project.git",
                "topics": [
                    "gitflic"
                ],
                "private": false,
                "mirror": false
            },
            {
                "id": "0ed38c25-aaaa-aaaa-aaaa-462c972efcc5",
                "title": "gitflic",
                "description": "example",
                "alias": "gitflic",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user",
                    "type": "USER"
                },
                "language": "java",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user/gitflic.git",
                "sshTransportUrl": "git@gitflic.ru:user/gitflic.git",
                "topics": [
                    "gitflic"
                ],
                "private": false,
                "mirror": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

GET /project/{ownerAlias}/{projectAlias}/forked

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

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

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "projectList": [
            {
                "id": "f3f322a8-741c-43f8-bdf1-9b163a505a79",
                "title": "test-project",
                "description": "",
                "alias": "test-project",
                "ownerAlias": "test",
                "httpTransportUrl": "https://gitflic.ru/project/test/test-project.git",
                "sshTransportUrl": "git@gitflic.ru:test/test-project.git",
                "language": "Markdown",
                "selectorTitle": "test-project",
                "private": false,
                "selectorOwnerAlias": "test",
                "selectorId": "f3f322a8-741c-43f8-bdf1-9b163a505a79",
                "selectorAlias": "test-project",
                "isDeleted": false,
                "hexColor": null,
                "selectorColor": null,
                "selectorHash": null
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

GET /project/{ownerAlias}/{projectAlias}/files?filepath={filepath}&branch={branchName}

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

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца проекта
projectAlias String Псевдоним проекта
filepath String Не обязательный параметр. Дополнительный путь к файлу
branch String Не обязательный параметр. Название ветки

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "path": "README.md",
    "baseName": "README",
    "filename": "README.md",
    "isTree": false,
    "lastCommitSha": null,
    "lastCommit": null,
    "timeDifference": null,
    "tree": false
},
{
    "path": "folder",
    "baseName": "folder",
    "filename": "folder",
    "isTree": true,
    "lastCommitSha": null,
    "lastCommit": null,
    "timeDifference": null,
    "tree": true
}
    
  


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

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


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

GET /project/{ownerAlias}/{projectAlias}/followers

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

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

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "userList": [
            {
                "id": "67248766-2307-481e-bb2c-624a59869252",
                "username": "test",
                "name": "testname",
                "surname": "testSURNAME",
                "fullName": "testname testSURNAME",
                "avatar": "https://gitflic.ru/upload/img/6ce797dd-0090-47f7-8d27-37a55d6c8057.jpg",
                "cover": null
            },
            {
                "id": "6736240a-139d-4e62-be4f-cab026562172",
                "username": "superuser",
                "name": "Василий",
                "surname": "Сметанин",
                "fullName": "Василий Сметанин",
                "avatar": "https://gitflic.ru/static/image/avatar.jpg",
                "cover": null
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


Метод получения информации о пользователях, добавивших в избранное

GET /project/{ownerAlias}/{projectAlias}/stars

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

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

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "userList": [
            {
                "id": "67248766-aaaa-aaaa-aaaa-624a59869252",
                "username": "test",
                "name": "testname",
                "surname": "testSURNAME",
                "fullName": "testname testSURNAME",
                "avatar": "https://gitflic.ru/upload/img/6ce797dd-aaaa-aaaa-aaaa-37a55d6c8057.jpg",
                "cover": null
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


Метод создания проекта

POST /project

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

Request

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

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

Передаваемые параметры Тип Описание
title String Название проекта
isPrivate Boolean Приватный проект или нет. Принимает true или false
alias String Псевдоним проекта
ownerAlias String Псевдоним владельца
ownerAliasType String Тип владельца проекта. Принимает USER, TEAM или COMPANY
language String Язык программирования
description String Описание проекта, необязательное поле

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

{
    "title": "my project",
    "isPrivate": "true",
    "alias": "example",
    "ownerAlias": "example-user",
    "ownerAliasType": "USER",
    "language": "java",
    "description": "description"
}

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "2f58c38f-aaaa-aaaa-aaaa-3819c74b2c36",
    "title": "my project",
    "description": "description",
    "alias": "example",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "example-user",
        "type": "USER"
    },
    "language": "java",
    "forEducation": false,
    "forkedFromId": null,
    "pullMirrorUrl": null,
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "https://gitflic.ru/project/example-user/example.git",
    "sshTransportUrl": "git@gitflic.ru:example-user/example.git",
    "topics": [
        "gitflic"
    ],
    "private": true,
    "mirror": false
}
    
  


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

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


Метод импорта проекта

POST /project/import-base

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

Request

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

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

Передаваемые параметры Тип Описание
title String Название проекта
isPrivate Boolean Приватный проект или нет. Принимает true или false
alias String Псевдоним проекта
ownerAlias String Псевдоним владельца проекта
ownerAliasType String Тип владельца проекта. Принимает USER, TEAM или COMPANY
language String Язык программирования
gitSource String Ссылка на импортируемый проект
login String Логин. Необходим для импорта приватного проекта
token String Токен. Необходим для импорта приватного проекта
description String Описание проекта, необязательное поле

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

{
    "title": "example",
    "isPrivate": false,
    "alias": "import",
    "ownerAlias": "user",
    "ownerAliasType": "USER",
    "language": "java",
    "gitSource": "https://gitflic.ru/project/user/example.git",
    "login": "user",
    "token": "e2ff0fa4-aaaa-aaaa-aaaa-c86f7c0d0ab0",
    "description": "example"
}


Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "4bfe5723-aaaa-aaaa-aaaa-347804f2d47e",
    "title": "example",
    "description": "example",
    "alias": "example",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "user",
        "type": "USER"
    },
    "language": "java",
    "forEducation": false,
    "forkedFromId": null,
    "mirrorUrl": null,
    "mirrorType": null,
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "https://gitflic.ru/project/example/example.git",
    "sshTransportUrl": "git@gitflic.ru:example/example.git",
    "topics": [
        "gitflic"
    ],
    "private": false,
    "mirror": false
}
    
  


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

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


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

POST /project/create-mirror

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

Request

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

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

Параметр Описание
title Название команды
description Описание, необязательный параметр
isPrivate Приватный проект или нет. Принимает true или false
alias Псевдоним проекта
ownerAlias Псевдоним владельца проекта
ownerAliasType Тип владельца проекта. Принимает USER, TEAM или COMPANY
language Язык программирования
gitSource Ссылка на git репозиторий
mirrorType Тип зеркала. Принимает PULL или PUSH
login Логин. Необходим для доступа к приватному проекту
token Токен. Необходим для доступа к приватному проекту
refSpecs Настройка RefSpec для зеркалирования конкретных веток или тегов есть
{
    "title": "mirror",
    "description": "mirror",
    "isPrivate": true,
    "alias": "mirror",
    "ownerAlias": "user",
    "ownerAliasType": "USER",
    "language": "java",
    "gitSource": "https://gitflic.ru/project/user/project.git",
    "mirrorType": "PULL",
    "login": "",
    "token": "",
    "refSpecs": ["refs/heads/master:refs/heads/main"]
}

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "4ad463df-aaaa-aaaa-aaaa-137d65545fa3",
    "title": "example",
    "description": "example",
    "alias": "example",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "example",
        "type": "USER"
    },
    "language": "Java",
    "forEducation": false,
    "forkedFromId": null,
    "mirrorUrl": "example.git",
    "mirrorType": "PULL",
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "http://gitflic.ru/project/example/example.git",
    "sshTransportUrl": "git@gitflic.ru:example/example.git",
    "topics": [
        "gitflic"
    ],
    "mirror": true,
    "private": true
}
    
  


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

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


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

POST /project/{ownerAlias}/{projectAlias}/to-push-mirror

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

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

Request

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

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

Параметр Описание
source Ссылка на git репозиторий
login Логин. Необходим для доступа к приватному проекту
token Токен. Необходим для доступа к приватному проекту
controlString Контрольная строка. Имеет вид ownerAlias/projectAlias, где ownerAlias это псевдоним владельца проекта, а projectAlias это псевдоним проекта
{
    "source": "https://gitflic.ru/project/user/project.git",
    "login": "example",
    "token": "example",
    "controlString": "user/example"
}

Responses

STATUS 200 - пример JSON:

Пример ответа
    
    {
    "id": "4ad463df-aaaa-aaaa-aaaa-137d65545fa3",
    "title": "example",
    "description": "example",
    "alias": "example",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "user",
        "type": "USER"
    },
    "language": "java",
    "forEducation": false,
    "forkedFromId": null,
    "mirrorUrl": "example.git",
    "mirrorType": "PUSH",
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "http://gitflic.ru/project/example/example.git",
    "sshTransportUrl": "git@gitflic.ru:example/example.git",
    "topics": [
        "gitflic"
    ],
    "mirror": true,
    "private": true
}
    
  


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

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


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

POST /project/{ownerAlias}/{projectAlias}/manual-update

Запрос обновляет зеркало и возвращает информацию о проекте. Данный запрос выполняется без дополнительной информации в теле.

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

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "4ad463df-aaaa-aaaa-aaaa-137d65545fa3",
    "title": "example",
    "description": "example",
    "alias": "example",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "example",
        "type": "USER"
    },
    "language": "Java",
    "forEducation": false,
    "forkedFromId": null,
    "mirrorUrl": "example.git",
    "mirrorType": "PULL",
    "allowedMemory": "4GB",
    "forkUrl": null,
    "httpTransportUrl": "http://gitflic.ru/project/example/example.git",
    "sshTransportUrl": "git@gitflic.ru:example/example.git",
    "topics": [
        "gitflic"
    ],
    "mirror": true,
    "private": true
}
    
  


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

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


Метод создания форка проекта

POST /project/{ownerAlias}/{projectAlias}/create-fork

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

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

Request

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

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

Параметр Описание
title Название проекта
description Описание, необязательный параметр
isPrivate Приватный проект или нет. Принимает true или false
alias Алиас проекта
ownerAlias Алиас владельца проекта
ownerAliasType Тип владельца проекта. Принимает USER, TEAM или COMPANY
language Язык программирования
{
    "title": "fork",
    "description": "fork description",
    "isPrivate": true,
    "alias": "fork",
    "ownerAlias": "user",
    "ownerAliasType": "USER",
    "language": "java",
}

Responses

STATUS 200 - пример JSON:

Пример ответа
    
        {
        "id": "4ad463df-aaaa-aaaa-aaaa-137d65545fa3",
        "title": "fork",
        "description": "fork description",
        "alias": "fork",
        "defaultBranch": "master",
        "workBranch": "master",
        "siteUrl": null,
        "owner": {
            "alias": "user,
            "type": "USER"
        },
        "language": "Java",
        "forEducation": false,
        "forkedFromId": "38ee2d74-aaaa-aaaa-aaaa-291aec22db4e"
        "mirrorUrl": null,
        "mirrorType": null,
        "allowedMemory": "4GB",
        "forkUrl": http://gitflic.ru/project/example/example.git,
        "httpTransportUrl": "http://gitflic.ru/project/user/fork.git",
        "sshTransportUrl": "git@gitflic.ru:user/fork.git",
        "topics": [],
        "mirror": true,
        "private": true
        }
    
  


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

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


Метод добавления пользователя в проект

POST /project/{projectUuid}/member/invite

Запрос добавляет пользователя в проект с указанной ролью

Переменная пути запроса Тип Описание
projectUuid String UUID проекта, в который необходимо добавить пользователя

Request

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

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

Параметр Описание
userAlias Псевдоним пользователя, который будет добавлен в проект
role Роль, с которой будет добавлен пользователь. Возможные значения: GUEST - гость, REPORTER - докладчик, DEVELOPER - разработчик, ADMIN - администратор и OWNER - владелец
{
    "userAlias" : "user",
    "role" : "OWNER"
}

Responses

STATUS 200 - Пользователю отправлено приглашение в проект.

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

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


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

PUT /project/{projectUuid}/member/role

Запрос изменяет роль пользователя в проекте

Переменная пути запроса Тип Описание
projectUuid String UUID проекта, в который необходимо добавить пользователя

Request

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

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

Параметр Описание
userAlias Псевдоним пользователя, роль которого будет изменена в проекте
role Роль, с которой будет добавлен пользователь. Возможные значения: GUEST - гость, REPORTER - докладчик, DEVELOPER - разработчик, ADMIN - администратор и OWNER - владелец
{
    "userAlias" : "user",
    "role" : "OWNER"
}

Responses

STATUS 200 - Изменена роль пользователя.

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

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


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

DELETE /project/{projectUuid}/member/{userAlias}

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

Переменная пути запроса Тип Описание
projectUuid String UUID проекта, в который необходимо добавить пользователя
userAlias String Псевдоним пользователя, которого необходимо удалить из проекта

Responses

STATUS 200 - Пользователь удален из проекта.

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

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


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

DELETE /project/{projectUuid}/delete

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

Переменная пути запроса Тип Описание
projectUuid String UUID проекта, который необходимо удалить

Responses

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

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

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