GitFlic API
Проекты
Описание структуры 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": {
"projectModelList": [
{
"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 объекта
{
"title": "example",
"isPrivate": "true",
"alias": "example",
"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": {
"projectModelList": [
{
"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}/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:
{
"_embedded": {
"apiFileInfoTupleList": [
{
"path": "example-path",
"baseName": "example-path",
"filename": "example-path",
"isTree": true,
"lastCommitHash": "3e44b94bb90a318088200f3b173436f3403fbcb5",
"lastCommitMessage": "Initial commit\n",
"commiter": {
"name": "exampleName",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "examplename@gmail.com",
"when": "2023-05-05T11:22:14Z"
},
"author": {
"name": "exampleName",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "examplename@gmail.com",
"when": "2023-05-05T11:22:14Z"
},
"createdAt": "2023-05-05T11:22:14Z",
"tree": true
},
{
"path": "README.txt",
"baseName": "README",
"filename": "README.txt",
"isTree": false,
"lastCommitHash": "3e44b94bb90a318088200f3b173436f3403fbcb5",
"lastCommitMessage": "Initial commit\n",
"commiter": {
"name": "exampleName",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "examplename@gmail.com",
"when": "2023-05-05T11:22:14Z"
},
"author": {
"name": "exampleName",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "examplename@gmail.com",
"when": "2023-05-05T11:22:14Z"
},
"createdAt": "2023-05-05T11:22:14Z",
"tree": false
},
{
"path": "README.md",
"baseName": "README",
"filename": "README.md",
"isTree": false,
"lastCommitHash": "3e44b94bb90a318088200f3b173436f3403fbcb5",
"lastCommitMessage": "Initial commit\n",
"commiter": {
"name": "exampleName",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "examplename@gmail.com",
"when": "2023-05-05T11:22:14Z"
},
"author": {
"name": "exampleName",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "examplename@gmail.com",
"when": "2023-05-05T11:22:14Z"
},
"createdAt": "2023-05-05T11:22:14Z",
"tree": false
}
]
},
"page": {
"size": 3,
"totalElements": 3,
"totalPages": 1,
"number": 0
}
}
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}/users-can-be-assigned
Запрос возвращает пользователей, которых можно назначить ответственными за запрос на слияние (с ролью в проекте девелопер и выше)
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/users-can-be-assigned |
Получить информацию о пользователях, которых можно назначить ответственными за запрос на слияние |
Переменная пути запроса | Тип | Описание |
---|---|---|
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}/commits
Запрос возвращает коммиты главной ветки проекта
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/commits |
Получить информацию о коммитах главной ветки проекта, по алиасу пользователя и проекта |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Пседоним пользователя |
projectAlias |
String | Псевдоним проекта |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"commitList": [
{
"hash": "f24075cb2c2ded9f0e3695e7429133d1d8109930",
"message": "example-commit",
"shortMessage": "example-commit",
"createdAt": "2023-03-14T10:40:09Z",
"committerIdent": {
"name": "Василий",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "example@gmail.com",
"when": "2023-03-14T10:40:09Z"
},
"authorIdent": {
"name": "artem",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "example@gmail.com",
"when": "2023-03-14T10:40:09Z"
},
"user": {
"id": "67248766-2307-481e-bb2c-624a59869252",
"username": "ExampleUser",
"name": "ExampleName",
"surname": "ExampleSurname",
"fullName": "ExampleName ExampleSurname",
"avatar": "https://gitflic.ru/upload/img/6ce797dd-0090-47f7-8d27-37a55d6c8057.jpg"
}
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
GET /project/{userAlias}/{projectAlias}/commits/{branchName}
Запрос возвращает коммиты ветки проекта
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/commits/{branchName} |
Получить информацию о коммитах ветки проекта, по алиасу пользователя, проекта и названию ветки |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Пседоним пользователя |
projectAlias |
String | Псевдоним проекта |
branchName |
String | Название ветки |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"commitList": [
{
"hash": "f24075cb2c2ded9f0e3695e7429133d1d8109930",
"message": "example-commit",
"shortMessage": "example-commit",
"createdAt": "2023-03-14T10:40:09Z",
"committerIdent": {
"name": "Василий",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "example@gmail.com",
"when": "2023-03-14T10:40:09Z"
},
"authorIdent": {
"name": "artem",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "example@gmail.com",
"when": "2023-03-14T10:40:09Z"
},
"user": {
"id": "67248766-2307-481e-bb2c-624a59869252",
"username": "ExampleUser",
"name": "ExampleName",
"surname": "ExampleSurname",
"fullName": "ExampleName ExampleSurname",
"avatar": "https://gitflic.ru/upload/img/6ce797dd-0090-47f7-8d27-37a55d6c8057.jpg"
}
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
GET /project/{userAlias}/{projectAlias}/labels
Запрос возвращает лейблы в проекте
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/labels |
Получить лейблы в проекте, по алиасу пользователя и проекта |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Пседоним пользователя |
projectAlias |
String | Псевдоним проекта |
Responses
STATUS 200
- пример JSON:
{
"_embedded": {
"labelList": [
{
"id": "ee9ec3d3-b8dd-432d-b442-2e5b6232e034",
"hexColor": "0D55A6",
"title": "фича",
"description": "Новая функциональность",
"isTextLight": true
},
{
"id": "676c2a50-46d4-4d20-b612-49332baddc79",
"hexColor": "F58A07",
"title": "ошибка",
"description": "Ошибка в новой фиче",
"isTextLight": false
},
{
"id": "c2629e43-2aef-4587-b707-80b5ddbf6f58",
"hexColor": "D00000",
"title": "срочный фикс",
"description": "Исправление инцидента",
"isTextLight": true
},
{
"id": "8b9cf425-92be-4912-a6c6-ca8d08910757",
"hexColor": "FCF300",
"title": "релиз",
"description": "Доработки готовые для релиза",
"isTextLight": false
}
]
},
"page": {
"size": 4,
"totalElements": 4,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
В данной статье
Список проектов с вашим участием
Получить информацию о проекте по алиасу пользователя
Получить информацию о файлах проекта по алиасу пользователя и проекта
Получить информацию о форках проекта по алиасу пользователя и проекта
Получить информацию о подписчиках проекта по алиасу пользователя и проекта
Получить информацию о пользователях, добавивших проект в избранное, по алиасу пользователя и проекта
Получить информацию о пользователях, которых можно назначить ответственными за запрос на слияние
Получить информацию о коммитах главной ветки проекта, по алиасу пользователя и проекта
Получить информацию о коммитах ветки проекта, по алиасу пользователя, проекта и названию ветки
Получить информацию о лейблах в проекте, по алиасу пользователя и проекта
Документация
- Общая информация
- Основные настройки
- Авторизация и регистрация
- Уведомления
- Создание README для профиля
- Введение
- Получение Access Token
- Пагинация
- Методы для проектов
- Методы для пользователей
- Методы для команд
- Методы для компаний
- Методы для проблем
- Методы для комментариев к проблемам
- Методы для коммитов
- Методы для релизов
- Методы для запросов на слияние
- Методы для веток
- Методы для вебхуков
- Методы для тегов