Коммиты
Описание структуры JSON-объекта, описывающего коммит
Поле | Тип | Описание |
---|---|---|
hash |
String | Хэш коммита |
message |
String | Название коммита |
shortMessage |
String | Короткое название коммита |
createdAt |
ZonedDateTime | Дата создания коммита |
committerIdent |
Object | Данные последнего коммитера |
authorIdent |
Object | Данные автора коммита |
user |
Object | Данные пользователя |
verificationResult |
Object | Объект, описывающий верификацию коммита |
parentCommitIds |
Set (String) | Массив, содержащий хэши родительских коммитов |
parentCommitBranches |
Set (String) | Массив, содержащий ветки родительских коммитов |
Описание структуры JSON-объекта, описывающего верификацию коммита
Поле | Тип | Описание |
---|---|---|
verified |
Boolean | Статус верификации. true - коммит верифицирован, false - верификация не пройдена |
comment |
String | Комментарий к подписи |
keyId |
String | ID ключа, которым подписан коммит |
Описание структуры 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 | Строки файла. С описанием массива можно ознакомиться здесь |
links |
Deprecated | Устаревший параметр. По умолчанию возвращает пустой массив |
Описание структуры JSON-объекта, описывающего строки
Поле | Тип | Описание |
---|---|---|
id |
String | ID строки |
body |
String | Содержимое строки |
highLightBody |
String | Содержимое строки без обработки подсветкой кода |
addLineNumber |
Integer | Номер добавленной строки |
removeLineNumber |
Integer | Номер удаленной строки |
op |
String | Тип изменения строки. Возможные варианты: none - нет изменений, add - добавление строки и remove - удаление строки |
type |
String | Тип строки. Возможные варианты: line - строка кода и separator - строка, содержащая дополнительную информацию |
links |
Depricated | Устаревший параметр. По умолчанию возвращает пустой массив |
Ознакомиться со структурой JSON-объекта, описывающего пользователя можно здесь
Метод для получения информации о коммите
GET /project/{ownerAlias}/{projectAlias}/commit/{commitId}
Запрос возвращает информацию о коммите
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
Responses
STATUS 200
- пример JSON:
Пример ответа
{
"hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
"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-aaaa-aaaa-aaaa-cea3dd8b6073",
"username": "user",
"name": name,
"surname": subname,
"fullName": "name subname",
"avatar": "https://gitflic.ru/upload/img/d67527fd-aaaa-aaaa-aaaa-6269d204abe6.jpg"
},
"verificationResult": {
"verified": true,
"comment": null,
"keyId": "aabbccdd11223344"
},
"parentCommitIds": [
"25752fe5b62327aaaaaaaaaaaa641fb124dd94b7"
],
"parentCommitBranches": [
"master"
]
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения списка затронутых файлов в коммите
GET /project/{ownerAlias}/{projectAlias}/commit/{commitId}/file
Запрос возвращает массив файлов, которые были затронуты коммитом
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
Responses
STATUS 200
- пример JSON:
Пример ответа
[
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0",
"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": [],
"links": []
},
{
"id": "13e29841e34bc141f8f31eead2aaaaaaaaaaaa9dcf406776d844f6e65b80527c",
"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": "36e6fe047847ce478368a46cc1aaaaaaaaaaaafddd68e2c2bb0250c499be3e97",
"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/{ownerAlias}/{projectAlias}/commit/{commitId}/diff?filePath={filePath}
Запрос возвращает информацию об изменениях в файле
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
filePath |
String | Путь до файла |
Responses
STATUS 200
- пример JSON:
Пример ответа
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0",
"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": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-1-1-separator",
"body": "@@ -1 +1,3 @@",
"highLightBody": "No newline at end of file",
"addLineNumber": 1,
"removeLineNumber": 2,
"op": "none",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-3-2",
"body": "+test",
"highLightBody": "test",
"addLineNumber": 2,
"removeLineNumber": null,
"op": "add",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-3-3",
"body": "+",
"highLightBody": "",
"addLineNumber": 3,
"removeLineNumber": null,
"op": "add",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-3-4",
"body": "+Измененный файл",
"highLightBody": "Измененный файл",
"addLineNumber": 4,
"removeLineNumber": null,
"op": "add",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-3-5",
"body": "\\ No newline at end of file",
"highLightBody": " No newline at end of file",
"addLineNumber": 5,
"removeLineNumber": 3,
"op": "none",
"type": "line"
}
]
}
",
"addLineNumber": null,
"removeLineNumber": null,
"op": "none",
"type": "separator"
},
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-1-1",
"body": "-test",
"highLightBody": "test",
"addLineNumber": null,
"removeLineNumber": 1,
"op": "remove",
"type": "line"
},
{
"id": "e64e5f3228f83d28daaccef563aaaaaaaaaaaa15f39518f863deee8ebacd1bf0-2-1",
"body": "\\ No newline at end of file",
"highLightBody": "
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения информации о коммите по файлу
GET /project/{ownerAlias}/{projectAlias}/commit/{commitId}/for-file?filePath={filePath}
Запрос возвращает информацию о коммите, который является последним для файла
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitId |
String | ID коммита |
filePath |
String | Путь до файла |
Responses
STATUS 200
- пример JSON:
Пример ответа
{
"hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c",
"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-aaaa-aaaa-aaaa-cea3dd8b6073",
"username": "user",
"name": name,
"surname": subname,
"fullName": "name subname",
"avatar": "https://gitflic.ru/upload/img/d67527fd-aaaa-aaaa-aaaa-6269d204abe6.jpg"
},
"verificationResult": {
"verified": true,
"comment": null,
"keyId": "aabbccdd11223344"
},
"parentCommitIds": [
"25752fe5b62327aaaaaaaaaaaa641fb124dd94b7"
],
"parentCommitBranches": [
"master"
]
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод получения информации о коммитах стандартной ветки
GET /project/{ownerAlias}/{projectAlias}/commits
Запрос возвращает коммиты стандартной ветки проекта
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
Responses
STATUS 200
- пример JSON:
Пример ответа
{
"_embedded": {
"commitList": [
{
"hash": "f24075cb2c2dedaaaaaaaaaaaa9133d1d8109930",
"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-aaaa-aaaa-aaaa-624a59869252",
"username": "ExampleUser",
"name": "ExampleName",
"surname": "ExampleSurname",
"fullName": "ExampleName ExampleSurname",
"avatar": "https://gitflic.ru/upload/img/6ce797dd-aaaa-aaaa-aaaa-37a55d6c8057.jpg"
},
"verificationResult": {
"verified": true,
"comment": null,
"keyId": "aabbccdd11223344"
},
"parentCommitIds": [
"25752fe5b62327aaaaaaaaaaaa641fb124dd94b7"
],
"parentCommitBranches": [
"master"
]
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод получения информации о коммитах ветки
GET /project/{ownerAlias}/{projectAlias}/commits?branch={branchName}
Запрос возвращает коммиты указанной ветки проекта
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
branchName |
String | Название ветки |
Responses
STATUS 200
- пример JSON:
Пример ответа
{
"_embedded": {
"commitList": [
{
"hash": "f24075cb2c2dedaaaaaaaaaaaa9133d1d8109930",
"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-aaaa-aaaa-aaaa-624a59869252",
"username": "ExampleUser",
"name": "ExampleName",
"surname": "ExampleSurname",
"fullName": "ExampleName ExampleSurname",
"avatar": "https://gitflic.ru/upload/img/6ce797dd-aaaa-aaaa-aaaa-37a55d6c8057.jpg"
},
"verificationResult": {
"verified": true,
"comment": null,
"keyId": "aabbccdd11223344"
},
"parentCommitIds": [
"25752fe5b62327aaaaaaaaaaaa641fb124dd94b7"
],
"parentCommitBranches": [
"master"
]
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод получения различий между коммитами
GET /project/{ownerAlias}/{projectAlias}/commit/diff?sourceCommitId={sourceCommitId}&targetCommitId={targetCommitId}&ignoreCollapsed={true/false}
Запрос возвращает массив файлов с изменениями, которые произошли в них между указанными коммитами.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
sourceCommitId |
String | Хэш исходного коммита |
targetCommitId |
String | Хэш целевого коммита |
ignoreCollapsed |
Boolean | Присылать ли информацию о большом файле false (по умолчанию) или нет true |
Responses
STATUS 200
- пример JSON:
Пример ответа
[
{
"id": "e0e336e503c9a733aaaaaaaaaaaa9308509ecde34986b555c617645e807d92c6",
"newMode": "100644",
"oldMode": "100644",
"newPath": "admin/samlSso.ftlh",
"oldPath": "admin/samlSso.ftlh",
"lastCommit": null,
"addedLinesCount": 1,
"removedLinesCount": 1,
"fileName": "samlSso.ftlh",
"filePath": "admin/samlSso.ftlh",
"fileExtension": "ftlh",
"isImg": false,
"isCollapsed": false,
"isLarge": false,
"isBinary": false,
"changeType": null,
"headers": [
"diff --git a/admin/src/main/resources/templates/admin/saml/samlSso.ftlh b/admin/src/main/resources/templates/admin/saml/samlSso.ftlh",
"index d037c96..b142de6 100644",
"--- a/admin/src/main/resources/templates/admin/saml/samlSso.ftlh",
"+++ b/admin/src/main/resources/templates/admin/saml/samlSso.ftlh"
],
"lines": [
{
"id": "e0e336e503c9a733aaaaaaaaaaaa9308509ecde34986b555c617645e807d92c6-19-19-separator",
"body": "@@ -19,7 +19,7 @@",
"highLightBody": "class=\"d-flex flex-column mr-auto pl-0\">",
"addLineNumber": 19,
"removeLineNumber": 19,
"op": "none",
"type": "line",
"links": []
}
],
}
]
",
"addLineNumber": null,
"removeLineNumber": null,
"op": "none",
"type": "separator",
"links": []
},
{
"id": "e0e336e503c9a733aaaaaaaaaaaa9308509ecde34986b555c617645e807d92c6-19-19",
"body": " <div class="d-flex flex-column mr-auto pl-0">",
"highLightBody": " <div
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод получения различий между тегами
GET /project/{ownerAlias}/{projectAlias}/tag/diff?sourceName={sourceName}&targetName={targetName}&ignoreCollapsed={true/false}
Запрос возвращает массив файлов с изменениями, которые произошли в них между указанными тегами.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
sourceName |
String | Имя исходного тега |
targetName |
String | Имя целевого тега |
ignoreCollapsed |
Boolean | Присылать ли информацию о большом файле false (по умолчанию) или нет true |
Responses
STATUS 200
- пример JSON:
Пример ответа
[
{
"id": "e0e336e503c9a733aaaaaaaaaaaa9308509ecde34986b555c617645e807d92c6",
"newMode": "100644",
"oldMode": "100644",
"newPath": "admin/samlSso.ftlh",
"oldPath": "admin/samlSso.ftlh",
"lastCommit": null,
"addedLinesCount": 1,
"removedLinesCount": 1,
"fileName": "samlSso.ftlh",
"filePath": "admin/samlSso.ftlh",
"fileExtension": "ftlh",
"isImg": false,
"isCollapsed": false,
"isLarge": false,
"isBinary": false,
"changeType": null,
"headers": [
"diff --git a/admin/src/main/resources/templates/admin/saml/samlSso.ftlh b/admin/src/main/resources/templates/admin/saml/samlSso.ftlh",
"index d037c96..b142de6 100644",
"--- a/admin/src/main/resources/templates/admin/saml/samlSso.ftlh",
"+++ b/admin/src/main/resources/templates/admin/saml/samlSso.ftlh"
],
"lines": [
{
"id": "e0e336e503c9a733aaaaaaaaaaaa9308509ecde34986b555c617645e807d92c6-19-19-separator",
"body": "@@ -19,7 +19,7 @@",
"highLightBody": "class=\"d-flex flex-column mr-auto pl-0\">",
"addLineNumber": 19,
"removeLineNumber": 19,
"op": "none",
"type": "line",
"links": []
}
],
}
]
",
"addLineNumber": null,
"removeLineNumber": null,
"op": "none",
"type": "separator",
"links": []
},
{
"id": "e0e336e503c9a733aaaaaaaaaaaa9308509ecde34986b555c617645e807d92c6-19-19",
"body": " <div class="d-flex flex-column mr-auto pl-0">",
"highLightBody": " <div
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.