Коммиты
Описание структуры JSON-объекта, описывающего коммит
Поле | Тип | Описание |
---|---|---|
hash |
String | Хэш коммита |
message |
String | Название коммита |
shortMessage |
String | Короткое название коммита |
createdAt |
ZonedDateTime | Дата создания коммита |
committerIdent |
Object | Данные последнего коммитера |
authorIdent |
Object | Данные автора коммита |
user |
Object | Данные пользователя |
Описание структуры JSON-объекта, описывающего файл
Поле | Тип | Описание |
---|---|---|
id |
String | ID файла |
newMode |
String | Новый режим доступа файла |
oldMode |
String | Старый режим доступа файла |
newPath |
String | Новый путь файла |
oldPath |
String | Старый путь файла |
lastCommit* |
Object | Последний коммит, с которым файл был добавлен |
addedLinesCount |
Integer | Количество добавленных строк в файле |
removedLinesCount |
Integer | Количество удаленных строк в файле |
fileName |
String | Имя файла |
filePath |
String | Путь файла |
fileExtension |
String | Расширение файла |
isImg |
Boolean | Является ли файл изображением |
isCollapsed |
Boolean | Являются ли изменения файла сжатыми, и требующими ручной загрузки на странице |
isLarge |
Boolean | Являются ли изменения файла сжатыми, и требующими перехода к файлу для его просмотра |
isBinary |
Boolean | Является ли файл двоичным |
changeType |
String | Тип изменения файла |
headers |
Массив String | Заголовки файла |
lines |
Массив Object | Строки файла |
Метод для получения информации о коммите
GET /project/{userAlias}/{projectAlias}/commit/{commitId}
Запрос возвращает информацию о коммите
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/commit/{commitId} |
Информация о коммите |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Псевдоним пользователя |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
Responses
STATUS 200
пример JSON:
{
"hash": "01baf9f63e0060a396f4ea69fab8b1cb3afa683c",
"message": "Commit\n",
"shortMessage": "Commit",
"createdAt": "2022-04-26T13:38:14Z",
"committerIdent": {
"name": "User",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "user@gmail.com",
"when": "2022-04-26T13:38:14Z"
},
"authorIdent": {
"name": "User",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "user@gmail.com",
"when": "2022-04-26T13:38:14Z"
},
"user": {
"id": "a10b86a3-c8d7-46cc-9cdb-cea3dd8b6073",
"username": "user",
"name": name,
"surname": subname,
"fullName": "name subname",
"avatar": "https://gitflic.ru/upload/img/d67527fd-fce4-408f-8109-6269d204abe6.jpg"
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения списка затронутых файлов в коммите
GET /project/{userAlias}/{projectAlias}/commit/{commitId}/file
Запрос возвращает массив файлов, которые были затронуты коммитом
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/commit/{commitId}/file |
Список файлов, затронутых коммитом |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Псевдоним пользователя |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
Responses
STATUS 200
Пример JSON:
[
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0",
"newMode": "100644",
"oldMode": "100644",
"newPath": "file1.txt",
"oldPath": "file1.txt",
"lastCommit": null,
"addedLinesCount": 0,
"removedLinesCount": 0,
"fileName": "file1.txt",
"filePath": "file1.txt",
"fileExtension": "txt",
"isImg": false,
"isCollapsed": false,
"isLarge": false,
"isBinary": false,
"changeType": "MODIFY",
"headers": [],
"lines": []
},
{
"id": "13e29841e34bc141f8f31eead2f50ce21fd3d09dcf406776d844f6e65b80527c",
"newMode": "100644",
"oldMode": "0",
"newPath": "test2.txt",
"oldPath": "/dev/null",
"lastCommit": null,
"addedLinesCount": 0,
"removedLinesCount": 0,
"fileName": "test2.txt",
"filePath": "test2.txt",
"fileExtension": "txt",
"isImg": false,
"isCollapsed": false,
"isLarge": false,
"isBinary": false,
"changeType": "ADD",
"headers": [],
"lines": [],
"links": []
},
{
"id": "36e6fe047847ce478368a46cc151c5762ff461fddd68e2c2bb0250c499be3e97",
"newMode": "100644",
"oldMode": "0",
"newPath": "test3.txt",
"oldPath": "/dev/null",
"lastCommit": null,
"addedLinesCount": 0,
"removedLinesCount": 0,
"fileName": "test3.txt",
"filePath": "test3.txt",
"fileExtension": "txt",
"isImg": false,
"isCollapsed": false,
"isLarge": false,
"isBinary": false,
"changeType": "ADD",
"headers": [],
"lines": [],
"links": []
}
]
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для просмотра изменений в файле по конкретному коммиту
GET /project/{userAlias}/{projectAlias}/commit/{commitId}/diff?filePath={filePath}
Запрос возвращает информацию об изменениях в файле
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/commit/{commitId}/diff?filePath={filePath} |
Информация об изменениях в файле |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Псевдоним пользователя |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
filePath |
String | Путь до файла |
Responses
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0",
"newMode": "100644",
"oldMode": "100644",
"newPath": "file1.txt",
"oldPath": "file1.txt",
"lastCommit": null,
"addedLinesCount": 3,
"removedLinesCount": 1,
"fileName": "file1.txt",
"filePath": "file1.txt",
"fileExtension": "txt",
"isImg": false,
"isCollapsed": false,
"isLarge": false,
"isBinary": false,
"changeType": null,
"headers": [
"diff --git a/file1.txt b/file1.txt",
"index 4961484..3b66f31 100644",
"--- a/file1.txt",
"+++ b/file1.txt"
],
"lines": [
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-1-1-separator",
"body": "@@ -1 +1,3 @@",
"highLightBody": "@ -1 +1,3 @@",
"addLineNumber": null,
"removeLineNumber": null,
"op": "none",
"type": "separator"
},
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-1-1",
"body": "-test",
"highLightBody": "test",
"addLineNumber": null,
"removeLineNumber": 1,
"op": "remove",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-2-1",
"body": "\\ No newline at end of file",
"highLightBody": " No newline at end of file",
"addLineNumber": 1,
"removeLineNumber": 2,
"op": "none",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-3-2",
"body": "+test",
"highLightBody": "test",
"addLineNumber": 2,
"removeLineNumber": null,
"op": "add",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-3-3",
"body": "+",
"highLightBody": "",
"addLineNumber": 3,
"removeLineNumber": null,
"op": "add",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-3-4",
"body": "+Измененный файл",
"highLightBody": "Измененный файл",
"addLineNumber": 4,
"removeLineNumber": null,
"op": "add",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563eb4d7466988315f39518f863deee8ebacd1bf0-3-5",
"body": "\\ No newline at end of file",
"highLightBody": " No newline at end of file",
"addLineNumber": 5,
"removeLineNumber": 3,
"op": "none",
"type": "line"
}
]
}
Метод для получения информации о коммите по файлу
GET /project/{userAlias}/{projectAlias}/commit/{commitId}/for-file?filePath={filePath}
Запрос возвращает информацию о коммите по файлу
Запрос | Описание |
---|---|
GET /project/{userAlias}/{projectAlias}/commit/{commitId}/for-file?filePath={filePath} |
Получить информацию о коммите по файлу |
Переменная пути запроса | Тип | Описание |
---|---|---|
userAlias |
String | Псевдоним пользователя |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
filePath |
String | Путь до файла |
Responses
STATUS 200
- пример JSON:
{
"hash": "01baf9f63e0060a396f4ea69fab8b1cb3afa683c",
"message": "Commit\n",
"shortMessage": "Commit",
"createdAt": "2022-04-26T13:38:14Z",
"committerIdent": {
"name": "User",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "user@gmail.com",
"when": "2022-04-26T13:38:14Z"
},
"authorIdent": {
"name": "User",
"avatar": "/static/image/avatar.jpg",
"emailAddress": "user@gmail.com",
"when": "2022-04-26T13:38:14Z"
},
"user": {
"id": "a10b86a3-c8d7-46cc-9cdb-cea3dd8b6073",
"username": "user",
"name": name,
"surname": subname,
"fullName": "name subname",
"avatar": "https://gitflic.ru/upload/img/d67527fd-fce4-408f-8109-6269d204abe6.jpg"
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.