Projects
Description of the JSON object structure describing a project
Field | Type | Description |
---|---|---|
id |
String | Unique project ID |
title |
String | Project name |
description |
String | Project description |
alias |
String | Project alias |
defaultBranch |
String | Default project branch |
workBranch |
String | Working project branch |
siteUrl |
String | Project website |
owner |
Object | Project owner, structure description |
language |
String | Project language |
forEducation |
Boolean | Educational project true or regular false |
forkedFromId |
String | ID of the project from which the fork was made |
mirrorUrl |
String | URL of the project from which the mirror was made |
mirrorType |
String | Mirror type. Possible values: PULL and PUSH |
allowedMemory |
String | Allowed memory for the project |
forkUrl |
String | URL of the project from which the fork was made |
httpTransportUrl |
String | HTTPS clone link for the project |
sshTransportUrl |
String | SSH clone link for the project |
topics |
Set (String) | Array containing project topics |
mirror |
Boolean | Project is a mirror true or not false |
private |
Boolean | Project is private true or public false |
Description of the JSON object structure describing the project owner
Field | Type | Description |
---|---|---|
alias |
String | Owner alias |
type |
String | Owner type. Possible values: USER , TEAM , and COMPANY |
Method to get the list of projects
GET /project?q={title}
The request returns an array of public projects, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
q |
String | Optional parameter. Project name |
Responses
STATUS 200
- JSON example:
Example response
{
"_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
- No access rights.
STATUS 404
- No data found for the request.
Method to get a project by alias
GET /project/{ownerAlias}/{projectAlias}
The request returns the project with the specified alias
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Responses
STATUS 200
- JSON example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to get a project by uuid
GET /project/{projectUuid}
The request returns the project with the specified UUID
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project ID |
Responses
STATUS 200
- JSON example:
Example response
{
"id": "90a99ad1-aaaa-aaaa-aaaa-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
- No access rights.
STATUS 404
- No data found for the request.
Method to get the list of active user's projects
GET /project/my?q={title}
The request returns an array of the active user's projects, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
q |
String | Optional parameter. Project name |
Responses
STATUS 200
- JSON example:
Example response
{
"_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
- No access rights.
STATUS 404
- No data found for the request.
Method to get the list of projects with user participation
GET /project/shared?q={title}
The request returns an array of projects with user participation, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
q |
String | Optional parameter. Project name |
Responses
Example response
{
"_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
- No access rights.
STATUS 404
- No data found for the request.
Method to get the list of project forks
GET /project/{ownerAlias}/{projectAlias}/forked
The request returns an array of public forks of the project, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Responses
STATUS 200
- JSON example:
Example response
{
"_embedded": {
"projectList": [
{
"id": "a8c92b63-aaaa-aaaa-aaaa-9fbedc8e3876",
"title": "project-fork",
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to get information about project files
GET /project/{ownerAlias}/{projectAlias}/files?filepath={filepath}&branch={branchName}
The request returns an array of project files, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
filepath |
String | Optional parameter. Additional file path |
branch |
String | Optional parameter. Branch name |
Responses
STATUS 200
- JSON example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to get information about project followers
GET /project/{ownerAlias}/{projectAlias}/followers
The request returns an array of project followers, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Responses
STATUS 200
- JSON example:
Example response
{
"_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
},
{
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "superuser",
"name": "Vasiliy",
"surname": "Smetanin",
"fullName": "Vasiliy Smetanin",
"avatar": "https://gitflic.ru/static/image/avatar.jpg",
"cover": null
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to get information about users who starred the project
GET /project/{ownerAlias}/{projectAlias}/stars
The request returns an array of users who added the project to favorites, with the ability to configure the number of objects displayed per page
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Responses
STATUS 200
- JSON example:
Example response
{
"_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
- No access rights.
STATUS 404
- No data found for the request.
Method to get project size
GET /project/{projectUuid}/project-size
The request returns the size of categories, as well as the total size of the project storage
Responses
This request returns a unique set of parameters:
Response Parameter | Type | Description |
---|---|---|
readableDirectorySize |
String | Git repository size |
readableLfsFilesSize |
String | Large file storage size |
readableRegistryFilesSize |
String | Package registry files size |
readableReleaseFilesSize |
String | Release files size |
readableArtifactFilesSize |
String | Artifact files size |
readableFilledSpace |
String | Total occupied storage size |
STATUS 200
- JSON example:
Example response
{
"readableDirectorySize": "3.4MB",
"readableLfsFilesSize": "103.3MB",
"readableRegistryFilesSize": "1.7MB",
"readableReleaseFilesSize": "83.3MB",
"readableArtifactFilesSize": "13.2MB",
"readableFilledSpace": "204.9MB"
}
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to get possible owners when creating a project
GET /project/allowed-owners
The request returns a list of possible owners for whom the current user can create a project
Responses
This request returns a unique object consisting of three arrays:
Set "companySet":
Response Parameter | Type | Description |
---|---|---|
id |
String | Company UUID |
alias |
String | Company alias |
uuid |
String | Company UUID |
title |
String | Company name |
description |
String | Company description |
url |
String | Company website link |
contactPhone |
String | Company phone |
contactEmail |
String | Company email |
ownerAlias |
String | Company owner alias |
avatar |
String | Company avatar link |
private |
Boolean | Company is private true or public false |
selectorTitle |
String | Company name in owner selector |
selectorId |
String | Owner selector UUID |
selectorAlias |
String | Owner selector alias |
selectorColor |
String | Owner selector color |
selectorHash |
String | Owner selector hash |
hexColor |
String | Owner selector color code in HEX format |
selectorOwnerAlias |
String | Owner selector owner alias |
isDeleted |
Boolean | Company deleted true or not false |
links |
Deprecated | Deprecated parameter. Returns empty array by default |
Set "teamSet":
Response Parameter | Type | Description |
---|---|---|
id |
String | Team UUID |
alias |
String | Team alias |
title |
String | Team name |
description |
String | Team description |
isPrivate |
Boolean | Team is private true or public false |
ownerAlias |
String | Team owner alias |
avatar |
String | Team avatar link |
selectorTitle |
String | Team name in owner selector |
selectorOwnerAlias |
String | Owner selector owner alias |
selectorId |
String | Owner selector UUID |
selectorAlias |
String | Owner selector alias |
selectorColor |
String | Owner selector color |
selectorHash |
String | Owner selector hash |
hexColor |
String | Owner selector color code in HEX format |
isDeleted |
Boolean | Team deleted true or not false |
links |
Deprecated | Deprecated parameter. Returns empty array by default |
Set "user":
Response Parameter | Type | Description |
---|---|---|
id |
String | Owner UUID |
username |
String | User alias |
name |
String | User name |
surname |
String | User surname |
fullName |
String | User full name |
avatar |
String | Avatar link |
links |
Deprecated | Deprecated parameter. Returns empty array by default |
STATUS 200
- JSON example:
Example response
{
"companySet": [
{
"id": "43f8bb0e-aaaa-aaaa-aaaa-b421e0782626",
"alias": "example-company",
"uuid": "43f8bb0e-aaaa-aaaa-aaaa-b421e0782626",
"title": "example-company",
"description": "example description",
"url": "https://example.ru",
"contactPhone": "+79999999999",
"contactEmail": "example@email.ru",
"ownerAlias": "adminuser",
"avatar": "http://localhost:8079/upload/img/1e528f78-aaaa-aaaa-aaaa-fe65b5a4b59a.png",
"private": true,
"selectorTitle": "example-company",
"selectorId": "43f8bb0e-aaaa-aaaa-aaaa-b421e0782626",
"selectorAlias": null,
"selectorColor": null,
"selectorHash": null,
"hexColor": null,
"selectorOwnerAlias": null,
"isDeleted": false,
"links": []
}
],
"teamSet": [
{
"id": "41f9c3fa-aaaa-aaaa-aaaa-ed615d6548dd",
"alias": "example-team",
"title": "example-team",
"description": "example description",
"isPrivate": true,
"ownerAlias": "adminuser",
"avatar": "http://localhost:8079/upload/img/a187f9f0-aaaa-aaaa-aaaa-748c0ac84648.png",
"selectorTitle": "example-team",
"selectorOwnerAlias": "adminuser",
"selectorId": "41f9c3fa-aaaa-aaaa-aaaa-ed615d6548dd",
"selectorAlias": null,
"selectorColor": null,
"selectorHash": null,
"hexColor": null,
"isDeleted": false,
"links": []
}
],
"user": {
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"username": "adminuser",
"name": "Admin user",
"surname": null,
"fullName": "Admin user",
"avatar": null,
"links": []
}
}
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to create a project
POST /project
The request creates a project and returns its information
Request
Supported JSON format
POST request body structure:
Parameter | Type | Description |
---|---|---|
title |
String | Project name |
isPrivate |
Boolean | Private project or not. Accepts true or false |
alias |
String | Project alias |
ownerAlias |
String | Owner alias |
ownerAliasType |
String | Owner type. Accepts USER , TEAM , or COMPANY |
language |
String | Programming language |
description |
String | Project description, optional field |
Example JSON object
{
"title": "my project",
"isPrivate": "true",
"alias": "example",
"ownerAlias": "example-user",
"ownerAliasType": "USER",
"language": "java",
"description": "description"
}
Responses
STATUS 200
- JSON example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to import a project
POST /project/import-base
The request imports a project and returns its information
Request
Supported JSON format
POST request body structure:
Parameter | Type | Description |
---|---|---|
title |
String | Project name |
isPrivate |
Boolean | Private project or not. Accepts true or false |
alias |
String | Project alias |
ownerAlias |
String | Project owner alias |
ownerAliasType |
String | Owner type. Accepts USER , TEAM , or COMPANY |
language |
String | Programming language |
gitSource |
String | Link to the imported project |
login |
String | Login. Required for importing a private project |
token |
String | Token. Required for importing a private project |
description |
String | Project description, optional field |
Example JSON object
{
"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 example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to create a mirror
POST /project/create-mirror
The request creates a project of type mirror and returns its information
Request
Supported JSON format
POST request body structure:
Parameter | Description |
---|---|
title |
Team name |
description |
Description, optional parameter |
isPrivate |
Private project or not. Accepts true or false |
alias |
Project alias |
ownerAlias |
Project owner alias |
ownerAliasType |
Owner type. Accepts USER , TEAM , or COMPANY |
language |
Programming language |
gitSource |
Git repository link |
mirrorType |
Mirror type. Accepts PULL or PUSH |
login |
Login. Required for access to a private project |
token |
Token. Required for access to a private project |
refSpecs |
RefSpec settings for mirroring specific branches or tags if available |
{
"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 example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to convert an existing project to a PUSH mirror
POST /project/{ownerAlias}/{projectAlias}/to-push-mirror
The request changes the project type to PUSH mirror and returns its information
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Request
Supported JSON format
POST request body structure:
Parameter | Description |
---|---|
source |
Git repository link |
login |
Login. Required for access to a private project |
token |
Token. Required for access to a private project |
controlString |
Control string. Format ownerAlias/projectAlias , where ownerAlias is the owner's alias, and projectAlias is alias |
{
"source": "https://gitflic.ru/project/user/project.git",
"login": "example",
"token": "example",
"controlString": "user/example"
}
Responses
STATUS 200
- JSON example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to update a mirror
POST /project/{ownerAlias}/{projectAlias}/manual-update
The request updates the mirror and returns information about the project. This request is executed without additional information in the body.
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Responses
STATUS 200
- JSON example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to create a project fork
POST /project/{ownerAlias}/{projectAlias}/create-fork
The request creates a fork of the project and returns its information
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Request
Supported JSON format
POST request body structure:
Parameter | Description |
---|---|
title |
Project name |
description |
Description, optional parameter |
isPrivate |
Private project or not. Accepts true or false |
alias |
Project alias |
ownerAlias |
Project owner alias |
ownerAliasType |
Owner type. Accepts USER , TEAM , or COMPANY |
language |
Programming language |
{
"title": "fork",
"description": "fork description",
"isPrivate": true,
"alias": "fork",
"ownerAlias": "user",
"ownerAliasType": "USER",
"language": "java",
}
Responses
STATUS 200
- JSON example:
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to update project information
PUT /project/{ownerAlias}/{projectAlias}/setting/change-setting
The request changes project information and returns it
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Request
Supported JSON format
PUT request body structure:
Parameter | Type | Description |
---|---|---|
title |
String | Project name |
description |
String | Project description |
language |
String | Programming language |
topics |
Set (String) | Array of project topics |
Responses
STATUS 200
- JSON example:
Example response
{
"id": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
"title": "project",
"description": "description",
"alias": "project",
"defaultBranch": "master",
"workBranch": "master",
"siteUrl": "https://gitflic.ru",
"owner": {
"alias": "adminuser",
"type": "USER"
},
"language": "Markdown",
"forEducation": false,
"forkedFromId": null,
"mirrorUrl": null,
"mirrorType": null,
"allowedMemory": "4GB",
"forkUrl": null,
"httpTransportUrl": "https://gitflic.ru/project/adminuser/project.git",
"sshTransportUrl": "git@gitflic.ru:adminuser/project.git",
"defaultIssueStatus": null,
"topics": [
"docs",
"gitflic"
],
"private": true,
"mirror": false
}
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to create a deploy token
POST /project/{ownerAlias}/{projectAlias}/setting/deploy-token/create
The request creates a deploy token with the specified set of permissions
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
Request
Supported JSON format
POST request body structure:
Parameter | Description |
---|---|
expiresAt |
Token expiration date |
title |
Token name |
scopes |
Array of permissions: REPOSITORY_READ - Pull repository, REPOSITORY_WRITE - Push repository |
{
"expiresAt" : "2030-01-01",
"title" : "Token via API",
"scopes" : [
"REPOSITORY_READ",
"REPOSITORY_WRITE"
]
}
Responses
STATUS 200
- JSON example:
Description of the JSON object structure describing the deploy token
Parameter | Type | Description |
---|---|---|
token |
String | Deploy token |
tokenUuid |
String | Deploy token UUID |
expiresAt |
ZonedDateTime | Token expiration date |
title |
String | Token name |
scopes |
List |
Array of permissions: REPOSITORY_READ - Pull repository, REPOSITORY_WRITE - Push repository |
Example response
{
"token": "d36f5ae4-aaaa-aaaa-aaaa-5de5aae3dc3f",
"tokenUuid": "b1f23eb4-aaaa-aaaa-aaaa-2f04e8564855",
"expiresAt": "2025-01-01T00:00:00",
"title": "Token via API",
"scopes": [
"REPOSITORY_READ",
"REPOSITORY_WRITE"
]
}
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to run a user script
POST /project{ownerAlias}/{projectAlias}/script/{scriptUuid}
The request runs a user script with the specified UUID
Query Path Variable | Type | Description |
---|---|---|
ownerAlias |
String | Project owner's alias |
projectAlias |
String | Project alias |
scriptUuid |
String | Script UUID to run |
Responses
STATUS 200
- JSON example:
Description of the JSON object structure describing the user script
Parameter | Type | Description |
---|---|---|
executionUuid |
String | Execution result UUID |
scriptUuid |
String | User script UUID |
triggerType |
String | Trigger type. Always returns REQUEST |
triggerName |
String | Trigger name. Always returns rest-api |
triggeringUserUuid |
String | UUID of the user who ran the script |
executionStartTimestamp |
Long | Script execution start time |
executionEndTimestamp |
Long | Script execution end time |
queueAppendTimestamp |
Long | Time added to execution queue |
result |
String | Execution result. Possible values: SUCCESS - successful, RUNTIME_ERROR - runtime error, TIME_EXCEEDED - timeout, UNKNOWN_ERROR - unknown error |
returnedValue |
String | Returned value |
Example response
{
"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
- No access rights.
STATUS 404
- No data found for the request.
Method to add a user to a project
POST /project/{projectUuid}/member/invite
The request adds a user to a project with the specified role
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to add the user to |
Request
Supported JSON format
POST request body structure:
Parameter | Description |
---|---|
userAlias |
Alias of the user to be added to the project |
role |
Role to add the user with. Possible values: GUEST - guest, REPORTER - reporter, DEVELOPER - developer, ADMIN - admin, OWNER - owner |
{
"userAlias" : "user",
"role" : "OWNER"
}
Responses
STATUS 200
- Invitation sent to the user.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to change a user's role in a project
PUT /project/{projectUuid}/member/role
The request changes the user's role in a project
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to change the user's role in |
Request
Supported JSON format
PUT request body structure:
Parameter | Description |
---|---|
userAlias |
Alias of the user whose role will be changed in the project |
role |
New project member role. Possible values: GUEST - guest, REPORTER - reporter, DEVELOPER - developer, ADMIN - admin, OWNER - owner |
{
"userAlias" : "user",
"role" : "OWNER"
}
Responses
STATUS 200
- User role changed.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to remove a user from a project
DELETE /project/{projectUuid}/member/{userAlias}
The request removes a user from a project
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to remove the user from |
userAlias |
String | Alias of the user to be removed from the project |
Responses
STATUS 200
- User removed from the project.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to add a team to a project
POST /project/{projectUuid}/member/team/invite
The request adds a team to a project with the specified role
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to add the team to |
Request
Supported JSON format
POST request body structure:
Parameter | Description |
---|---|
teamAlias |
Alias of the team to be added to the project |
maxRole |
Role to add the team with. Possible values: GUEST - guest, REPORTER - reporter, DEVELOPER - developer, ADMIN - admin |
{
"teamAlias" : "team",
"maxRole" : "DEVELOPER"
}
Responses
STATUS 200
- Team added to the project.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to change a team's role in a project
PUT /project/{projectUuid}/member/team/role
The request changes the team's role in a project
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to change the team's role in |
Request
Supported JSON format
PUT request body structure:
Parameter | Description |
---|---|
teamAlias |
Alias of the team whose role will be changed in the project |
maxRole |
New project team role. Possible values: GUEST - guest, REPORTER - reporter, DEVELOPER - developer, ADMIN - admin |
{
"teamAlias" : "team",
"maxRole" : "GUEST"
}
Responses
STATUS 200
- Team role changed.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to remove a team from a project
DELETE /project/{projectUuid}/member/team/{teamAlias}
The request removes a team from a project
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to remove the team from |
teamAlias |
String | Alias of the team to be removed from the project |
Responses
STATUS 200
- Team removed from the project.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Method to delete a project
DELETE /project/{projectUuid}/delete
The request deletes a project
Query Path Variable | Type | Description |
---|---|---|
projectUuid |
String | Project UUID to delete |
Responses
STATUS 200
- Project deleted.
STATUS 403
- No access rights.
STATUS 404
- No data found for the request.
Automated translation!
This page was translated using automatic translation tools. The text may contain inaccuracies.