Вебхуки
Для настройки вебхука воспользуйтесь инструкцией.
Присутствует возможность указать секрет вебхука. Секрет приходит в заголовке Gitflic-Webhook-Secret
Общие поля вебхуков:
Поле | Тип | Описание |
---|---|---|
action |
String | Название события |
project_id |
String | ID проекта |
project |
Object | Объект, описывающий проект |
Список событий вебхуков:
Cобытие | Описание |
---|---|
TEST_WEBHOOK |
Проверка вебхука |
ISSUE_CREATE |
Создание проблемы |
ISSUE_UPDATE |
Обновление проблемы |
NEW_ISSUE_NOTE |
Создание комментария к проблеме |
MERGE_REQUEST_CREATE |
Создание запроса на слияние |
MERGE_REQUEST_UPDATE |
Обновление запроса на слияние |
MERGE_REQUEST_ACCEPT |
Одобрение запроса на слияние |
MERGE_REQUEST_CLOSE |
Закрытие запроса на слияние |
MERGE_REQUEST_CANCEL |
Отмена запроса на слияние |
MERGE |
Слияние |
DISCUSSION_CREATE |
Создание комментария к дискуссии |
TAG_CREATE |
Создание тега |
TAG_DELETE |
Удаление тега |
BRANCH_CREATE |
Создание ветки |
BRANCH_DELETE |
Удаление ветки |
BRANCH_UPDATE |
Обновление ветки |
COLLABORATOR_ADD |
Добавление участника |
COLLABORATOR_UPDATE |
Обновление прав участника |
COLLABORATOR_DELETE |
Удаление участника |
PIPELINE_NEW |
Новый конвейер |
PIPELINE_SUCCESS |
Успешный конвейер |
PIPELINE_WARNING |
Предупреждение конвейера |
PIPELINE_FAIL |
Ошибка конвейера |
Содержимое объекта project
:
Cобытие | Тип | Описание |
---|---|---|
project_id |
String | ID проекта |
title |
String | Название проекта |
alias |
String | Псевдоним проекта |
owner_alias |
String | Псевдоним владельца проекта |
owner_type |
String | Тип владельца проекта. Возможные типы: USER , TEAM и COMPANY |
http_transport_url |
String | Ссылка на клонирование проекта по HTTPS |
ssh_transport_url |
String | Ссылка на клонирование проекта по SSH |
language |
String | Язык программирования |
private |
Boolean | Приватный проект true или публичный false |
Проверка вебхука
Тестовый запрос, который можно отправить для проверки работоспособности вебхука.
Пример ответа
{
"action": "TEST_WEBHOOK",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4"
}
Создание проблемы
Описание полей объекта issue
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID проблемы. |
user_id |
String | ID пользователя, создавшего проблему. |
title |
String | Название проблемы. |
description |
String | Описание проблемы. |
status |
String | Статус проблемы. Возможные статусы: OPEN , IN_PROGRESS , CLOSED , COMPLETED |
labels |
Set (String) | Массив, содержащий лейблы проблемы |
Пример ответа
{
"action": "ISSUE_CREATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"issue": {
"id": "a54541ce-aaaa-aaaa-aaaa-c057ecd86610",
"user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"title": "test title",
"description": "test description",
"status": "OPEN",
"labels": []
},
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
}
}
Обновление проблемы
Описание полей объекта issue
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID проблемы. |
user_id |
String | ID пользователя, создавшего проблему. |
title |
String | Название проблемы. |
description |
String | Описание проблемы. |
status |
String | Статус проблемы. Возможные статусы: OPEN , IN_PROGRESS , CLOSED , COMPLETED |
labels |
Set (String) | Массив, содержащий лейблы проблемы |
Пример ответа
{
"action": "ISSUE_UPDATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"issue": {
"id": "d929d155-aaaa-aaaa-aaaa-05352809923d",
"user_id": "8473a25a-aaaa-aaaa-89cb-3e5c9e0a4b51",
"title": "test title",
"description": "test description",
"status": "OPEN",
"labels": []
},
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
}
}
Новый комментарий к проблеме
Описание полей объекта issue_note
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID комментария к проблеме. |
user_id |
String | ID пользователя, написавшего комментарий. |
issue_id |
String | ID проблемы. |
massage |
String | Сообщение. |
issue_local_id |
String | Локальный ID проблемы. |
Пример ответа
{
"action": "NEW_ISSUE_NOTE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"issue_note": {
"id": "89bb7628-aaaa-aaaa-aaaa-f9a1864b56f4",
"user_id": "8473a25a-aaaa-aaaa-89cb-3e5c9e0a4b51",
"issue_id": "245612b6-aaaa-aaaa-aaaa-8b71c1cd1fe0",
"message": "test message",
"issue_local_id": 10
}
}
Создание запроса на слияние
Описание полей объекта merge_request
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID запроса на слияние. |
user_id |
String | ID пользователя, создавшего запрос на слияние. |
title |
String | Название запроса на слияние. |
description |
String | Описание запроса на слияние. |
status |
String | Статус запроса на слияние. Возможные статусы: OPENED , MERGED ,CLOSED ,CANCELED ,FAILED |
source_project_id |
String | ID проекта источника. |
source_commit |
String | Хэш коммита источника. |
source_branch |
String | Исходная ветка запроса на слияние. |
target_project_id |
String | ID целевого проекта для слияния. |
target_branch |
String | Целевая ветка запроса на слияние. |
local_id |
String | Локальный ID запроса на слияние. |
url |
String | URL запроса на слияние. |
status_title |
String | Наименование статуса запроса на слияние: Открыт , Слит ,Закрыт ,Отменен ,Ошибка |
can_merge |
Boolean | Запрос на слияние может быть слит true или нет false |
author_username |
String | Имя пользователя, создавшего запрос на слияние. |
Описание полей объекта merge_requirements
:
Поле | Тип | Описание |
---|---|---|
LAST_PIPELINE_SUCCESS |
Boolean | Последний конвейер завершился успешно true или нет false |
WORK_NOT_IN_PROGRESS |
Boolean | Запрос на слияние не заблокирован true или заблокирован false |
RIGHTS_TO_MERGE |
Boolean | Пользователь имеет true или не имеет false права на слияние |
NO_CONFLICTS |
Boolean | Запрос на слияние не имеет true или имеет false конфликты |
BRANCH_NOT_PROTECTED_FOR_USER |
Boolean | Пользователь имеет true или не имеет false права на слияние в защищенную ветку |
HAS_ALL_APPROVERS |
Boolean | Запрос на слияние получил true или не получил false необходимые одобрения от утверждающих |
HAS_ALL_CODEOWNERS |
Boolean | Запрос на слияние получил true или не получил false необходимые одобрения от владельцев кода |
MERGE_RESULTS_PIPELINE_SUCCESS |
Boolean | Конвейер результата слияния завершился успешно true или нет false |
Пример ответа
{
"action": "MERGE_REQUEST_CREATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"merge_request": {
"id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
"user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"title": "test title",
"description": "test description",
"status": "OPENED",
"source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"source_branch": "omega",
"source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"target_branch": "master",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
"status_title": "Открыт",
"can_merge": false,
"author_username": "adminuser"
},
},
"merge_requirements": {
"LAST_PIPELINE_SUCCESS": false,
"WORK_NOT_IN_PROGRESS": true,
"RIGHTS_TO_MERGE": true,
"NO_CONFLICTS": false,
"BRANCH_NOT_PROTECTED_FOR_USER": false,
"HAS_ALL_APPROVERS": false,
"HAS_ALL_CODEOWNERS": true,
"MERGE_RESULTS_PIPELINE_SUCCESS": false
}
}
Обновление запроса на слияние
Описание полей объекта merge_request
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID запроса на слияние. |
user_id |
String | ID пользователя, создавшего запрос на слияние. |
title |
String | Название запроса на слияние. |
description |
String | Описание запроса на слияние. |
status |
String | Статус запроса на слияние. Возможные статусы: OPENED , MERGED ,CLOSED ,CANCELED ,FAILED |
source_project_id |
String | ID проекта источника. |
source_commit |
String | Хэш коммита источника. |
source_branch |
String | Исходная ветка запроса на слияние. |
target_project_id |
String | ID целевого проекта для слияния. |
target_branch |
String | Целевая ветка запроса на слияние. |
local_id |
String | Локальный ID запроса на слияние. |
url |
String | URL запроса на слияние. |
status_title |
String | Наименование статуса запроса на слияние: Открыт , Слит ,Закрыт ,Отменен ,Ошибка |
can_merge |
Boolean | Запрос на слияние может быть слит true или нет false |
author_username |
String | Имя пользователя, создавшего запрос на слияние. |
Описание полей объекта merge_requirements
:
Поле | Тип | Описание |
---|---|---|
LAST_PIPELINE_SUCCESS |
Boolean | Последний конвейер завершился успешно true или нет false |
WORK_NOT_IN_PROGRESS |
Boolean | Запрос на слияние не заблокирован true или заблокирован false |
RIGHTS_TO_MERGE |
Boolean | Пользователь имеет true или не имеет false права на слияние |
NO_CONFLICTS |
Boolean | Запрос на слияние не имеет true или имеет false конфликты |
BRANCH_NOT_PROTECTED_FOR_USER |
Boolean | Пользователь имеет true или не имеет false права на слияние в защищенную ветку |
HAS_ALL_APPROVERS |
Boolean | Запрос на слияние получил true или не получил false необходимые одобрения от утверждающих |
HAS_ALL_CODEOWNERS |
Boolean | Запрос на слияние получил true или не получил false необходимые одобрения от владельцев кода |
MERGE_RESULTS_PIPELINE_SUCCESS |
Boolean | Конвейер результата слияния завершился успешно true или нет false |
Пример ответа
{
"action": "MERGE_REQUEST_UPDATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"merge_request": {
"id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
"user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"title": "test title",
"description": "test description",
"status": "OPENED",
"source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"source_branch": "omega",
"source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"target_branch": "master",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/merge-request/1"
"status_title": "Открыт",
"can_merge": false,
"author_username": "adminuser"
},
},
"merge_requirements": {
"LAST_PIPELINE_SUCCESS": false,
"WORK_NOT_IN_PROGRESS": true,
"RIGHTS_TO_MERGE": true,
"NO_CONFLICTS": false,
"BRANCH_NOT_PROTECTED_FOR_USER": false,
"HAS_ALL_APPROVERS": false,
"HAS_ALL_CODEOWNERS": true,
"MERGE_RESULTS_PIPELINE_SUCCESS": false
}
}
Одобрение запроса на слияние
Описание полей объекта merge_request
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID запроса на слияние. |
user_id |
String | ID пользователя, создавшего запрос на слияние. |
title |
String | Название запроса на слияние. |
description |
String | Описание запроса на слияние. |
status |
String | Статус запроса на слияние. Возможные статусы: OPENED , MERGED ,CLOSED ,CANCELED ,FAILED |
source_project_id |
String | ID проекта источника. |
source_commit |
String | Хэш коммита источника. |
source_branch |
String | Исходная ветка запроса на слияние. |
target_project_id |
String | ID целевого проекта для слияния. |
target_branch |
String | Целевая ветка запроса на слияние. |
local_id |
String | Локальный ID запроса на слияние. |
url |
String | URL запроса на слияние. |
status_title |
String | Наименование статуса запроса на слияние: Открыт , Слит ,Закрыт ,Отменен ,Ошибка |
can_merge |
Boolean | Запрос на слияние может быть слит true или нет false |
author_username |
String | Имя пользователя, создавшего запрос на слияние. |
Описание полей объекта merge_requirements
:
Поле | Тип | Описание |
---|---|---|
LAST_PIPELINE_SUCCESS |
Boolean | Последний конвейер завершился успешно true или нет false |
WORK_NOT_IN_PROGRESS |
Boolean | Запрос на слияние не заблокирован true или заблокирован false |
RIGHTS_TO_MERGE |
Boolean | Пользователь имеет true или не имеет false права на слияние |
NO_CONFLICTS |
Boolean | Запрос на слияние не имеет true или имеет false конфликты |
BRANCH_NOT_PROTECTED_FOR_USER |
Boolean | Пользователь имеет true или не имеет false права на слияние в защищенную ветку |
HAS_ALL_APPROVERS |
Boolean | Запрос на слияние получил true или не получил false необходимые одобрения от утверждающих |
HAS_ALL_CODEOWNERS |
Boolean | Запрос на слияние получил true или не получил false необходимые одобрения от владельцев кода |
MERGE_RESULTS_PIPELINE_SUCCESS |
Boolean | Конвейер результата слияния завершился успешно true или нет false |
Описание полей объекта initiator
:
Поле | Тип | Описание |
---|---|---|
id |
String | Псевдоним пользователя, который одобрил запрос на слияние |
name |
String | UUID пользователя, который одобрил запрос на слияние |
Пример ответа
{
"action": "MERGE_REQUEST_ACCEPT",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"merge_request": {
"id": "79ea9af0-aaaa-aaaa-aaaa-3dfdb0c84d9f",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"description": "test",
"status": "OPENED",
"source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"source_branch": "omega",
"target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"target_branch": "master",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/merge-request/1"
"status_title": "Открыт",
"can_merge": false,
"author_username": "adminuser"
},
"merge_requirements": {
"LAST_PIPELINE_SUCCESS": false,
"WORK_NOT_IN_PROGRESS": true,
"RIGHTS_TO_MERGE": true,
"NO_CONFLICTS": false,
"BRANCH_NOT_PROTECTED_FOR_USER": false,
"HAS_ALL_APPROVERS": false,
"HAS_ALL_CODEOWNERS": true,
"MERGE_RESULTS_PIPELINE_SUCCESS": false
},
"initiator": {
"id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"name": "adminuser"
}
}
Закрытие запроса на слияние
Описание полей объекта merge_request
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID запроса на слияние. |
user_id |
String | ID пользователя, создавшего запрос на слияние. |
title |
String | Название запроса на слияние. |
description |
String | Описание запроса на слияние. |
status |
String | Статус запроса на слияние. Возможные статусы: OPENED , MERGED ,CLOSED ,CANCELED ,FAILED |
source_project_id |
String | ID проекта источника. |
source_commit |
String | Хэш коммита источника. |
source_branch |
String | Исходная ветка запроса на слияние. |
target_project_id |
String | ID целевого проекта для слияния. |
target_branch |
String | Целевая ветка запроса на слияние. |
local_id |
String | Локальный ID запроса на слияние. |
url |
String | URL запроса на слияние. |
status_title |
String | Наименование статуса запроса на слияние: Открыт , Слит ,Закрыт ,Отменен ,Ошибка |
can_merge |
Boolean | Запрос на слияние может быть слит true или нет false |
author_username |
String | Имя пользователя, создавшего запрос на слияние. |
Данный вебхук всегда возвращает объект
merge_requirements
пустым.
Пример ответа
{
"action": "MERGE_REQUEST_CLOSE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"merge_request": {
"id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"title": "test title",
"description": "test description",
"status": "CLOSED",
"source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"source_branch": "omega",
"target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"target_branch": "master",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
"status_title": "Закрыт",
"can_merge": false,
"author_username": "adminuser"
},
"merge_requirements": {}
}
Отмена запроса на слияние
Описание полей объекта merge_request
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID запроса на слияние. |
user_id |
String | ID пользователя, создавшего запрос на слияние. |
title |
String | Название запроса на слияние. |
description |
String | Описание запроса на слияние. |
status |
String | Статус запроса на слияние. Возможные статусы: OPENED , MERGED ,CLOSED ,CANCELED ,FAILED |
source_project_id |
String | ID проекта источника. |
source_commit |
String | Хэш коммита источника. |
source_branch |
String | Исходная ветка запроса на слияние. |
target_project_id |
String | ID целевого проекта для слияния. |
target_branch |
String | Целевая ветка запроса на слияние. |
local_id |
String | Локальный ID запроса на слияние. |
url |
String | URL запроса на слияние. |
status_title |
String | Наименование статуса запроса на слияние: Открыт , Слит ,Закрыт ,Отменен ,Ошибка |
can_merge |
Boolean | Запрос на слияние может быть слит true или нет false |
author_username |
String | Имя пользователя, создавшего запрос на слияние. |
Данный вебхук всегда возвращает объект
merge_requirements
пустым.
Пример ответа
{
"action": "MERGE_REQUEST_CANCEL",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"merge_request": {
"id": "df34cb11-aaaa-aaaa-aaaa-7a2397bed8ab",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"title": "test",
"description": "test",
"status": "CANCELED",
"source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"source_branch": "omega",
"source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"target_branch": "master",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
"status_title": "Отменен"
"can_merge": false,,
"author_username": "adminuser"
},
"merge_requirements": {}
}
Слияние
Описание полей объекта merge_request
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID запроса на слияние. |
user_id |
String | ID пользователя, создавшего запрос на слияние. |
title |
String | Название запроса на слияние. |
description |
String | Описание запроса на слияние. |
status |
String | Статус запроса на слияние. Возможные статусы: OPENED , MERGED ,CLOSED ,CANCELED ,FAILED |
source_project_id |
String | ID проекта источника. |
source_commit |
String | Хэш коммита источника. |
source_branch |
String | Исходная ветка запроса на слияние. |
target_project_id |
String | ID целевого проекта для слияния. |
target_branch |
String | Целевая ветка запроса на слияние. |
local_id |
String | Локальный ID запроса на слияние. |
url |
String | URL запроса на слияние. |
status_title |
String | Наименование статуса запроса на слияние: Открыт , Слит ,Закрыт ,Отменен ,Ошибка |
can_merge |
Boolean | Запрос на слияние может быть слит true или нет false |
author_username |
String | Имя пользователя, создавшего запрос на слияние. |
Данный вебхук всегда возвращает объект
merge_requirements
пустым.
Пример ответа
{
"action": "MERGE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"merge_request": {
"id": "c4f3fb62-aaaa-aaaa-aaaa-f5b4ccdf6c96",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"title": "test",
"description": "test",
"status": "MERGED",
"source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"source_branch": "main",
"source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"target_branch": "master",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
"status_title": "Слит",
"can_merge": false,
"author_username": "adminuser"
},
"merge_requirements": {}
}
Создание дискуссии
Описание полей объекта discussion
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID дискуссии. |
message |
String | Сообщение. |
type |
String | Тип дискуссии. Возможные типы: DISCUSSION_CREATED , DISCUSSION_REPLY_CREATE |
merge_request_id |
String | ID запроса на слияние. |
discussion_id |
String | ID дискуссии. |
file_path |
String | Путь до файла, для которого создана дискуссия. |
line |
String | Номер строки в файле, для которой создана дискуссия. |
author_username |
String | Псевдоним автора дискуссии. |
merge_request_status |
String | Статус запроса на слияние. Возможные статусы: OPENED ,CLOSED ,MERGED ,FAILED ,CONFLICT ,CANCELED . |
merge_request_local_id |
String | Локальный ID запроса на слияния, в котором создана дискуссия. |
merge_request_url |
String | URL запроса на слияние, в котором создана дискуссия. |
Пример ответа
{
"action": "DISCUSSION_CREATE",
"project_id": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
"discussion": {
"id": "6c665aa6-aaaa-aaaa-aaaa-427fa11e1481",
"message": "test message",
"type": "DISCUSSION_REPLY_CREATE",
"merge_request_id": "055c532c-aaaa-aaaa-aaaa-70591043ef50",
"discussion_id": "a4177765-aaaa-aaaa-aaaa-e64b54a38659",
"file_path": "README.md",
"line": "1",
"author_username": "username",
"merge_request_status": "OPENED",
"merge_request_local_id": 1,
"merge_request_url": "https://gitflic.ru/project/adminuser/example/merge-request/1"
},
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "example",
"alias": "example",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
}
}
Новый конвейер
Описание полей объекта pipeline
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID конвейера. |
user_id |
String | ID пользователя, запустившего конвейер. |
commit_id |
String | Хэш последнего коммита в конвейере. |
local_id |
String | Локальный ID конвейера. |
url |
String | URL конвейера. |
Пример ответа
{
"action": "PIPELINE_NEW",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"pipeline": {
"id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
}
}
Успешный конвейер
Описание полей объекта pipeline
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID конвейера. |
user_id |
String | ID пользователя, запустившего конвейер. |
commit_id |
String | Хэш последнего коммита в конвейере. |
local_id |
String | Локальный ID конвейера. |
url |
String | URL конвейера. |
Пример ответа
{
"action": "PIPELINE_SUCCESS",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"pipeline": {
"id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
}
}
Предупреждение конвейера
Описание полей объекта pipeline
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID конвейера. |
user_id |
String | ID пользователя, запустившего конвейер. |
commit_id |
String | Хэш последнего коммита в конвейере. |
local_id |
String | Локальный ID конвейера. |
url |
String | URL конвейера. |
Пример ответа
{
"action": "PIPELINE_WARNING",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"pipeline": {
"id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
}
}
Ошибка конвейера
Описание полей объекта pipeline
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID конвейера. |
user_id |
String | ID пользователя, запустившего конвейер. |
commit_id |
String | Хэш последнего коммита в конвейере. |
local_id |
String | Локальный ID конвейера. |
url |
String | URL конвейера. |
Пример ответа
{
"action": "PIPELINE_FAIL",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"pipeline": {
"id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
"user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
"local_id": 1,
"url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
}
}
Создание тега
Описание полей объекта push
:
Поле | Тип | Описание |
---|---|---|
before |
String | Хэш предыдущего коммита. (Для новых тегов нулевой коммит) |
after |
String | Хэш текущего коммита. (На этом коммите был создан тег) |
ref |
String | Ссылка на гит-объект. |
commits |
Массив | Массив коммитов.(Тег не содержит коммитов, лишь ссылку на коммит) |
total_commits_count |
String | Количество коммитов. |
author_id |
String | ID автора тега. |
Пример ответа
{
"action": "TAG_CREATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"push": {
"before": "0000000000000000000000000000000000000000",
"after": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"ref": "refs/tags/1.2.3",
"commits": [],
"total_commits_count": 0,
"author_id": "6736240a-aaaa-aaaa-aaaa-cab026562172"
}
}
Удаление тега
Описание полей объекта push
:
Поле | Тип | Описание |
---|---|---|
before |
String | Хэш предыдущего коммита. (На этом коммите был создан удалённый тег) |
after |
String | Хэш текущего коммита. (Нулевой коммит для удаленного тега) |
ref |
String | Ссылка на гит-объект. |
commits |
Массив | Массив коммитов. (Тег не содержит коммитов, лишь ссылку на коммит) |
total_commits_count |
String | Количество коммитов. |
author_id |
String | ID автора тега. |
Пример ответа
{
"action": "TAG_DELETE"",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"push": {
"before": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"after": "0000000000000000000000000000000000000000",
"ref": "refs/tags/1.2.3",
"commits": [],
"total_commits_count": 0,
"author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
}
}
Создание ветки
Описание полей объекта push
:
Поле | Тип | Описание |
---|---|---|
before |
String | Хэш предыдущего коммита. |
after |
String | Хэш текущего коммита. (Последний коммит на созданной ветке) |
ref |
String | Ссылка на гит-объект. |
commits |
Массив | Массив коммитов.(Если запушена ветка без новых коммитов, то массив будет пуст) |
total_commits_count |
String | Количество коммитов. |
author_id |
String | ID автора тега. |
Описание полей объектов входящих в состав commits
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID коммита. |
message |
String | Сообщение коммита. |
author_name |
String | Имя автора коммита |
author_email |
String | Почта автора коммита |
timestamp |
String | Время коммита в формате UTC. |
Пример ответа
{
"action": "BRANCH_CREATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"push": {
"before": "0000000000000000000000000000000000000000",
"after": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"ref": "refs/heads/develop",
"commits": [
{
"id": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"message": "develop branch",
"author_name": "Ivan Ivanov",
"author_email": "ivanIvanov@mail.com",
"timestamp": "2022-04-13T14:12:51"
}
],
"total_commits_count": 1
"author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
}
}
Удаление ветки
Поле | Тип | Описание |
---|---|---|
before |
String | Хэш предыдущего коммита. |
after |
String | Хэш текущего коммита. (Нулевой коммит для удалённой ветки) |
ref |
String | Ссылка на гит-объект. |
commits |
Массив | Массив коммитов. (Пуст для удалённой ветки) |
total_commits_count |
String | Количество коммитов. |
author_id |
String | ID автора тега. |
Пример ответа
{
"action": "BRANCH_DELETE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"push": {
"before": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"after": "0000000000000000000000000000000000000000",
"ref": "refs/heads/develop",
"commits": [],
"total_commits_count": 0,
"author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
}
}
Обновление ветки
Описание полей объекта push
:
Поле | Тип | Описание |
---|---|---|
before |
String | Хэш предыдущего коммита. |
after |
String | Хэш текущего коммита. |
ref |
String | Ссылка на гит-объект. |
commits |
Массив | Массив коммитов. (Максимальное количество отображаемых коммитов 20) |
total_commits_count |
String | Количество коммитов. |
author_id |
String | ID автора тега. |
Описание полей объектов входящих в состав commits
:
Поле | Тип | Описание |
---|---|---|
id |
String | ID коммита. |
message |
String | Сообщение коммита. |
author_name |
String | Имя автора коммита. |
author_email |
String | Почта автора коммита. |
timestamp |
String | Время коммита в формате UTC. |
Пример ответа
{
"action": "BRANCH_UPDATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"push": {
"before": "ad49abb508911caaaaaaaaaaaad93f4df4c926e2",
"after": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"ref": "refs/heads/master",
"commits": [
{
"id": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
"message": "developer",
"author_name": "GitFlic",
"author_email": "support@gitflic.ru",
"timestamp": "2022-04-13T14:17:32"
},
],
"total_commits_count": 2,
"author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
}
}
Добавление участника
Данный вебхук срабатывает в том случае, если пользователь принял приглашение в проект.
Описание полей объекта collaborator
:
Поле | Тип | Описание |
---|---|---|
userid |
String | ID добавляемого пользователя. |
role |
String | Название роли пользователя в проекте. |
base_role |
String | Базовая роль пользователя в проекте. Возможные роли: OWNER , ADMIN , DEVELOPER , REPORTER , GUEST |
Пример ответа
{
"action": "COLLABORATOR_ADD",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"collaborator": {
"userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"role": "Докладчик",
"base_role": "REPORTER"
}
}
Обновление прав участника
Данный вебхук срабатывает в том случае, если была изменена роль пользователя.
Описание полей объекта collaborator
:
Поле | Тип | Описание |
---|---|---|
userid |
String | ID добавляемого пользователя. |
role |
String | Название роли пользователя в проекте. |
base_role |
String | Базовая роль пользователя в проекте. Возможные роли: OWNER , ADMIN , DEVELOPER , REPORTER , GUEST |
Пример ответа
{
"action": "COLLABORATOR_UPDATE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"collaborator": {
"userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"role": "Докладчик",
"base_role": "REPORTER"
}
}
Удаление участника
Описание полей объекта collaborator
:
Поле | Тип | Описание |
---|---|---|
userid |
String | ID добавляемого пользователя. |
role |
String | Название роли пользователя в проекте. |
base_role |
String | Базовая роль пользователя в проекте. Возможные роли: OWNER , ADMIN , DEVELOPER , REPORTER , GUEST |
Пример ответа
{
"action": "COLLABORATOR_DELETE",
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"project": {
"project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
"title": "test",
"alias": "test",
"owner_alias": "adminuser",
"owner_type": "USER",
"http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
"ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
"language": "Markdown",
"private": false
},
"collaborator": {
"userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
"role": "Докладчик",
"base_role": "REPORTER"
}
}