Проекты
Описание структуры 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": "a8c92b63-aaaa-aaaa-aaaa-9fbedc8e3876",
"title": "project-форк",
"description": "",
"alias": "project-fork",
"defaultBranch": "master",
"workBranch": "master",
"siteUrl": null,
"owner": {
"alias": "adminuser",
"type": "USER"
},
"language": "Markdown",
"forEducation": false,
"forkedFromId": "d1e64fd6-aaaa-aaaa-aaaa-76e68db48ed0",
"mirrorUrl": null,
"mirrorType": null,
"allowedMemory": "4GB",
"forkUrl": "https://localhost:8080/project/adminuser/project",
"httpTransportUrl": "https://localhost:8080/project/adminuser/project.git",
"sshTransportUrl": "ssh://gitlocalhost:8080:22/adminuser/project-fork.git",
"topics": [],
"mirror": false,
"private": false
}
]
},
"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
- Данные по запросу не найдены.
Метод получения размера проекта
GET /project/{projectUuid}/project-size
Запрос возвращает размер категорий, а так же полный размер хранилища проекта
Responses
Данный запрос возвращает уникальный набор параметров:
Параметры ответа | Тип | Описание |
---|---|---|
readableDirectorySize |
String | Размер git-репозитория |
readableLfsFilesSize |
String | Размер хранилища больших файлов |
readableRegistryFilesSize |
String | Размер файлов реестра пакетов |
readableReleaseFilesSize |
String | Размер файлов релизов |
readableArtifactFilesSize |
String | Размер файлов артефактов |
readableFilledSpace |
String | Суммарный занятый размер харнилища |
STATUS 200
- пример JSON:
{
"readableDirectorySize": "3,4MB",
"readableLfsFilesSize": 103,3MB",
"readableRegistryFilesSize": "1,7MB",
"readableReleaseFilesSize": "83,3MB",
"readableArtifactFilesSize": "13,2MB",
"readableFilledSpace": "204,9MB"
}
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/{ownerAlias}/{projectAlias}/setting/deploy-token/create
Запрос создает токен развертывания с указанным набором прав
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
Request
Поддерживаемый формат json
Структура тела POST-запроса:
Параметр | Описание |
---|---|
expiresAt |
Дата истечения действия токена |
title |
Наименование токена |
scopes |
Массив с набором прав: REPOSITORY_READ - Pull репозитория, REPOSITORY_WRITE - Push репозитория |
{
"expiresAt" : "2030-01-01",
"title" : "Токен через API",
"scopes" : [
"REPOSITORY_READ",
"REPOSITORY_WRITE"
]
}
Responses
STATUS 200
- пример JSON:
Описание структуры JSON-объекта, описывающего токен развертывания
Параметр | Тип | Описание |
---|---|---|
token |
String | Токен развертывания |
tokenUuid |
String | UUID токена развертывания |
expiresAt |
ZonedDateTime | Дата истечения действия токена |
title |
String | Наименование токена |
scopes |
List | Массив с набором прав: REPOSITORY_READ - Pull репозитория, REPOSITORY_WRITE - Push репозитория |
{
"token": "d36f5ae4-aaaa-aaaa-aaaa-5de5aae3dc3f",
"tokenUuid": "b1f23eb4-aaaa-aaaa-aaaa-2f04e8564855",
"expiresAt": "2025-01-01T00:00:00",
"title": "Токен через API",
"scopes": [
"REPOSITORY_READ",
"REPOSITORY_WRITE"
]
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод запуска пользовательского скрипта
POST /project{ownerAlias}/{projectAlias}/script/{scriptUuid}
Запрос запускает пользовательский скрипт с указанным UUID на выполнение
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
scriptUuid |
String | UUID скрипта на выполнение |
Responses
STATUS 200
- пример JSON:
Описание структуры JSON-объекта, описывающего пользовательский скрипт
Параметр | Тип | Описание |
---|---|---|
executionUuid |
String | UUID результата выполнения |
scriptUuid |
String | UUID пользовательского скрипта |
triggerType |
String | Тип триггера. Всегда возвращает REQUEST |
triggerName |
String | Название триггера. Всегда возвращает rest-api |
triggeringUserUuid |
String | UUID пользователя, запустившего скрипт |
executionStartTimestamp |
Long | Время начала выполнения скрипта |
executionEndTimestamp |
Long | Время окончания выполнения скрипта |
queueAppendTimestamp |
Long | Время добавления в очередь на выполнение |
result |
String | Результат выполнения. Возможные значения: SUCCESS - успешное выполнение, RUNTIME_ERROR - ошибка во время выполнения, TIME_EXCEEDED - превышение время выполнения и UNKNOWN_ERROR - неизвестная ошибка |
returnedValue |
String | Возвращенное значение |
{
"executionUuid": "f88973b1-aaaa-aaaa-aaaa-ced340466db6",
"scriptUuid": "1c8722cf-aaaa-aaaa-aaaa-3ea880353a75",
"triggerType": "REQUEST",
"triggerName": "rest-api",
"triggeringUserUuid": "44f4d17d-aaaa-aaaa-aaaa-805754a16fba",
"executionStartTimestamp": 1729511625673,
"executionEndTimestamp": 1729511626052,
"queueAppendTimestamp": 1729511625673,
"result": "SUCCESS",
"returnedValue": null
}
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
- Данные по запросу не найдены.
Метод добавления команды в проект
POST /project/{projectUuid}/member/team/invite
Запрос добавляет команду в проект с указанной ролью
Переменная пути запроса | Тип | Описание |
---|---|---|
projectUuid |
String | UUID проекта, в который необходимо добавить команду |
Request
Поддерживаемый формат json
Структура тела POST-запроса:
Параметр | Описание |
---|---|
teamAlias |
Псевдоним команды, которая будет добавлена в проект |
maxRole |
Роль, с которой будет добавлена команда. Возможные значения: GUEST - гость, REPORTER - докладчик, DEVELOPER - разработчик и ADMIN - администратор |
{
"teamAlias" : "team",
"maxRole" : "DEVELOPER"
}
Responses
STATUS 200
- Команда добавлена в проект.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод изменения роли команды в проекте
PUT /project/{projectUuid}/member/team/role
Запрос изменяет роль команды в проекте
Переменная пути запроса | Тип | Описание |
---|---|---|
projectUuid |
String | UUID проекта, в котором необходимо изменить роль команды |
Request
Поддерживаемый формат json
Структура тела POST-запроса:
Параметр | Описание |
---|---|
teamAlias |
Псевдоним команды, роль которой будет изменена в проекте |
maxRole |
Новая роль команды проекта. Возможные значения: GUEST - гость, REPORTER - докладчик, DEVELOPER - разработчик и ADMIN - администратор |
{
"teamAlias" : "team",
"maxRole" : "GUEST"
}
Responses
STATUS 200
- Изменена роль команды.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод удаления команды из проекта
DELETE /project/{projectUuid}/member/team/{teamAlias}
Запрос удаляет команду из проекта
Переменная пути запроса | Тип | Описание |
---|---|---|
projectUuid |
String | UUID проекта, в котором необходимо удалить команду |
teamAlias |
String | Псевдоним команды, которую необходимо удалить из проекта |
Responses
STATUS 200
- Команда удалена из проекта.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод удаления проекта
DELETE /project/{projectUuid}/delete
Запрос удаляет проект
Переменная пути запроса | Тип | Описание |
---|---|---|
projectUuid |
String | UUID проекта, который необходимо удалить |
Responses
STATUS 200
- Проект удален.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.