Перейти к содержанию

Вебхуки

Для настройки вебхука воспользуйтесь инструкцией.

Присутствует возможность указать секрет вебхука. Секрет приходит в заголовке 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"
  }
}