Проекты


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

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

Поле Тип Описание
alias String Псевдоним владельца
type String Тип владельца проекта

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

GET /project

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

Запрос Описание
GET /project Список публичных проектов

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "_embedded": {
        "projectList": [
           {
                "id": "06a973fb-8007-46c5-b2f0-d72a21b16087",
                "title": "bugs-bunny-fork",
                "description": "Forked repository example",
                "alias": "bugs-bunny-fork",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "team1",
                    "type": "TEAM"
                },
                "language": "Scala",
                "forEducation": false,
                "forkedFromId": "87c79f93-821f-4903-898f-60d08fbbca7b",
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": "https://gitflic.ru/project/team1/bugs-bunny",
                "httpTransportUrl": "https://gitflic.ru/project/team1/bugs-bunny-fork.git",
                "sshTransportUrl": "git@gitflic.ru:team1/bugs-bunny-fork.git",
                "private": false,
                "mirror": false
            },
            {
                "id": "0ed38c25-96cf-476a-a08f-462c972efcc5",
                "title": "jgit-cookbook",
                "description": "",
                "alias": "jgit-cookbook",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user1",
                    "type": "USER"
                },
                "language": "Markdown",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": "https://github.com/centic9/jgit-cookbook",
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user1/jgit-cookbook.git",
                "sshTransportUrl": "git@gitflic.ru:user1/jgit-cookbook.git",
                "private": false,
                "mirror": true
            },
            {
                "id": "b40d6604-8294-4866-87b9-e85aea777676",
                "title": "jgit",
                "description": "",
                "alias": "jgit-2",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user1",
                    "type": "USER"
                },
                "language": "Java",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user1/jgit-2.git",
                "sshTransportUrl": "git@gitflic.ru:user1/jgit-2.git",
                "private": false,
                "mirror": true
            },
            {
                "id": "e96dc53b-4c9b-4c6e-9339-f6c81b11265e",
                "title": "новый проект-4",
                "description": "",
                "alias": "novyj-proekt-4",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user2",
                    "type": "USER"
                },
                "language": "C++",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user2/novyj-proekt-4.git",
                "sshTransportUrl": "git@gitflic.ru:user2/novyj-proekt-4.git",
                "private": false,
                "mirror": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 4,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

POST /project

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

Запрос Описание
POST /project Список публичных проектов

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

Пример JSON объекта
    
{
    "title": "example",
    "isPrivate": "true",
    "alias": "example",
    "ownerAlias": "example-user",
    "language": "java"
}
    
  


Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "id": "2f58c38f-2d9f-4b17-aef6-3819c74b2c36",
    "title": "example",
    "description": null,
    "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",
    "private": true,
    "mirror": false
}
    
  


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

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


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

GET /project/my

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

Запрос Описание
GET /project/my Список личных проектов

Responses

STATUS 200 Пример JSON:

Пример ответа
    
{
    "_embedded": {
        "projectList": [
            {
                "id": "0ed38c25-96cf-476a-a08f-462c972efcc5",
                "title": "jgit-cookbook",
                "description": "",
                "alias": "jgit-cookbook",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user1",
                    "type": "USER"
                },
                "language": "Markdown",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": "https://github.com/centic9/jgit-cookbook",
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user1/jgit-cookbook.git",
                "sshTransportUrl": "git@gitflic.ru:user1/jgit-cookbook.git",
                "private": false,
                "mirror": true
            },
            {
                "id": "b40d6604-8294-4866-87b9-e85aea777676",
                "title": "jgit",
                "description": "",
                "alias": "jgit-2",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user1",
                    "type": "USER"
                },
                "language": "Java",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user1/jgit-2.git",
                "sshTransportUrl": "git@gitflic.ru:user1/jgit-2.git",
                "private": false,
                "mirror": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

GET /project/shared

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

Запрос Описание
GET /project/shared Список проектов с вашим участием

Responses

Пример ответа
    
{
    "_embedded": {
        "projectList": [
            {
                "id": "6518c55d-5c91-4d13-903c-7582d119eda8",
                "title": "мой нов",
                "description": "",
                "alias": "moj-nov",
                "defaultBranch": "master",
                "workBranch": "master",
                "siteUrl": null,
                "owner": {
                    "alias": "user2",
                    "type": "USER"
                },
                "language": "Markdown",
                "forEducation": false,
                "forkedFromId": null,
                "pullMirrorUrl": null,
                "allowedMemory": "4GB",
                "forkUrl": null,
                "httpTransportUrl": "https://gitflic.ru/project/user2/moj-nov.git",
                "sshTransportUrl": "git@gitflic.ru:user2/moj-nov.git",
                "private": false,
                "mirror": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  



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

GET /project/{userAlias}/{projectAlias}

Запрос возвращает проект

Запрос Описание
GET /project/{userAlias}/{projectAlias} Получить информацию о проекте по алиасу пользователя
Переменная пути запроса Тип Описание
userAlias String Пседоним пользователя
projectAlias String Псевдоним проекта

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "06a973fb-8007-46c5-b2f0-d72a21b16087",
    "title": "bugs-bunny-fork",
    "description": "Forked repository example",
    "alias": "bugs-bunny-fork",
    "defaultBranch": "master",
    "workBranch": "master",
    "siteUrl": null,
    "owner": {
        "alias": "team1",
        "type": "TEAM"
    },
    "language": "Scala",
    "forEducation": false,
    "forkedFromId": "87c79f93-821f-4903-898f-60d08fbbca7b",
    "pullMirrorUrl": null,
    "allowedMemory": "4GB",
    "forkUrl": "https://gitflic.ru/project/team1/bugs-bunny",
    "httpTransportUrl": "https://gitflic.ru/project/team1/bugs-bunny-fork.git",
    "sshTransportUrl": "git@gitflic.ru:team1/bugs-bunny-fork.git",
    "private": false,
    "mirror": false
 }
    
  


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

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


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

GET /project/{userAlias}/{projectAlias}/forked

Запрос возвращает форки проекта

Запрос Описание
GET /project/{userAlias}/{projectAlias}/forked Получить информацию о форках проекта по алиасу пользователя и проекта
Переменная пути запроса Тип Описание
userAlias 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/{userAlias}/{projectAlias}/followers

Запрос возвращает подписчиков проекта

Запрос Описание
GET /project/{userAlias}/{projectAlias}/followers Получить информацию о подписчиках проекта по алиасу пользователя и проекта
Переменная пути запроса Тип Описание
userAlias 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"
            },
            {
                "id": "6736240a-139d-4e62-be4f-cab026562172",
                "username": "superuser",
                "name": "Василий",
                "surname": "Сметанин",
                "fullName": "Василий Сметанин",
                "avatar": "https://gitflic.ru/static/image/avatar.jpg"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

GET /project/{userAlias}/{projectAlias}/stars

Запрос возвращает пользователей, добавивших проект в избранное

Запрос Описание
GET /project/{userAlias}/{projectAlias}/stars Получить информацию о пользователях, добавивших проект в избранное, по алиасу пользователя и проекта
Переменная пути запроса Тип Описание
userAlias 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"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

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

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

Запрос Описание
GET /project/{userAlias}/{projectAlias}/files?filepath={filepath}&branch={branchName} Получить информацию о файлах проекта по алиасу пользователя и проекта
Переменная пути запроса Тип Описание
userAlias String Пседоним пользователя
projectAlias String Псевдоним проекта
filepath String Дополнительный путь к файлу
branchName 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 - Данные по запросу не найдены.