Вебхуки

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

Общие поля вебхуков:

Поле Тип Описание
action String Конкретное действие (см.список событий вебхуков)
project_id String Айди проекта

Список событий вебхуков:

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 Слияние
TAG_CREATE Создание тэга
TAG_DELETE Удаление тэга
BRANCH_CREATE Создание ветки
BRANCH_DELETE Удаление ветки
BRANCH_UPDATE Обновление ветки
COLLABORATOR_ADD Добавление участника
COLLABORATOR_UPDATE Обновление прав участника
COLLABORATOR_DELETE Удаление участника
DISCUSSION_CREATE Создание комменатрия к дискуссии
PIPELINE_NEW Новый конвейер
PIPELINE_SUCCESS Успешный конвейер
PIPELINE_FAIL Ошибка конвейера

Проверка вебхука

Тестовый запрос, который можно отправить для проверки работоспособности вебхука.

Пример ответа
    
{
  "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
Пример ответа
    
{
  "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"
  }
}
    
  



Обновление проблемы

Описание полей объекта issue:

Поле Тип Описание
id String ID проблемы.
user_id String ID пользователя, обновившего проблему.
title String Название проблемы.
description String Описание проблемы.
status String Статус проблемы. Возможные статусы: OPEN, IN_PROGRESS, CLOSED, COMPLETED
Пример ответа
    
{
  "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"
  }
}
    
  



Новый комментарий к проблеме

Описание полей объекта issue_note:

Поле Тип Описание
id String ID комментария к проблеме.
user_id String ID пользователя, написавшего комментарий.
issue_id String ID проблемы.
massage String Сообщение.
issue_local_id String Локальный ID проблемы.
Пример ответа
    
{
  "action": "ISSUE_UPDATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "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,CLOSED,MERGED,FAILED,CONFLICT,CANCELED.
source_branch String Исходная ветка запроса на слияние.
target_project_id String ID целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
Пример ответа
    
{
  "action": "MERGE_REQUEST_CREATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "merge_request": {
    "id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
    "user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "title": "test title",
    "description": "test description",
    "status": "Открыт",
    "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",
    "merge_request_creator_id": "6736240a-aaaa-aaaa-aaaa-cab026562172"
  }
}
    
  



Обновление запроса на слияние

Описание полей объекта merge_request:

Поле Тип Описание
id String ID запроса на слияние.
user_id String ID пользователя, создавшего запрос на слияние.
title String Название запроса на слияние.
description String Описание запроса на слияние.
status String Статус запроса на слияние. Возможные статусы: OPENED,CLOSED,MERGED,FAILED,CONFLICT,CANCELED.
source_branch String Исходная ветка запроса на слияние.
target_project_id String ID целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
Пример ответа
    
{
  "action": "MERGE_REQUEST_UPDATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "merge_request": {
    "id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
    "user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "title": "test title",
    "description": "test description",
    "status": "Открыт",
    "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",
    "merge_request_creator_id": "6736240a-139d-4e62-be4f-cab026562172"
  }
}
    
  



Одобрение запроса на слияние

Описание полей объекта merge_request:

Поле Тип Описание
id String ID запроса на слияние.
user_id String ID пользователя, создавшего запрос на слияние.
description String Описание запроса на слияние.
source_project_id String ID исходного проекта для слияния.
source_branch String Исходная ветка запроса на слияние.
target_project_id String ID целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
merge_request_creator_id String ID автора запроса на слияние.
Пример ответа
    
{
  "action": "MERGE_REQUEST_ACCEPT",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "merge_request": {
    "id": "79ea9af0-aaaa-aaaa-aaaa-3dfdb0c84d9f",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "test",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "merge_request_creator_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  



Закрытие запроса на слияние

Описание полей объекта merge_request:

Поле Тип Описание
id String ID запроса на слияние.
user_id String ID пользователя, создавшего запрос на слияние.
title String Название запроса на слияние.
description String Описание запроса на слияние.
status String Статус запроса на слияние. Возможные статусы: OPENED,CLOSED,MERGED,FAILED,CONFLICT,CANCELED.
source_project_id String ID исходного проекта для слияния.
source_branch String Исходная ветка запроса на слияние.
target_project_id String ID целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
merge_request_creator_id String ID автора запроса на слияние.
Пример ответа
    
{
  "action": "MERGE_REQUEST_CLOSE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "merge_request": {
    "id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "title": "test title",
    "description": "test description",
    "status": "Закрыт",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "merge_request_creator_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  



Отмена запроса на слияние

Описание полей объекта merge_request:

Поле Тип Описание
id String ID запроса на слияние.
user_id String ID пользователя, создавшего запрос на слияние.
title String Название запроса на слияние.
description String Описание запроса на слияние.
status String Статус запроса на слияние. Возможные статусы: OPENED,CLOSED,MERGED,FAILED,CONFLICT,CANCELED.
source_project_id String ID исходного проекта для слияния.
source_branch String Исходная ветка запроса на слияние.
source_commit String Хеш комминат для слияния.
target_project_id String ID целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
merge_request_creator_id String ID автора запроса на слияние.
Пример ответа
    
{
  "action": "MERGE_REQUEST_CANCEL",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "merge_request": {
    "id": "df34cb11-aaaa-aaaa-aaaa-7a2397bed8ab",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "title": "test",
    "description": "test",
    "status": "Отменен",
    "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",
    "merge_request_creator_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  



Слияние

Описание полей объекта merge_request:

Поле Тип Описание
id String ID запроса на слияние.
user_id String ID пользователя, создавшего запрос на слияние.
title String Название запроса на слияние.
description String Описание запроса на слияние.
status String Статус запроса на слияние. Возможные статусы: OPENED,CLOSED,MERGED,FAILED,CONFLICT,CANCELED.
source_project_id String ID исходного проекта для слияния.
source_branch String Исходная ветка запроса на слияние.
source_commit String Хеш комминат для слияния.
target_project_id String ID целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
merge_request_creator_id String ID автора запроса на слияние.
Пример ответа
    
{
  "action": "MERGE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "merge_request": {
    "id": "c4f3fb62-aaaa-aaaa-aaaa-f5b4ccdf6c96",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "title": "test",
    "description": "test",
    "status": "Слит",
    "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",
    "merge_request_creator_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  



Создание тэга

Описание полей объекта 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",
  "push": {
    "before": "0000000000000000000000000000000000000000",
    "after": "b352fa74ab4f6b392cf088df4ccb48a6bf739ede",
    "ref": "refs/tags/v2",
    "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 автора тэга.
Пример ответа
    
{
  "action": "TAG_DELETE"",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "push": {
    "before": "b353fa74ab4f6b392cf088df4ccb48a6bf739ede",
    "after": "0000000000000000000000000000000000000000",
    "ref": "refs/tags/v2",
    "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",
  "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",
  "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",
  "push": {
    "before": "ad49abb508911caad935c4d9add93f4df4c926e2",
    "after": "f716dabd68cbf6a70f26dc74bc806f179ad7029e",
    "ref": "refs/heads/master",
    "commits": [
      {
        "id": "f716dabd68cbf6a70f26dc74bc806f179ad7029e",
        "message": "developer",
        "author_name": "GitFlic",
        "author_email": "support@gitflic.ru",
        "timestamp": "2022-04-13T14:17:32"
      },
      {
        "id": "c01576001fbc13a961dd3aef9eb9a8d88733946c",
        "message": "master",
        "author_name": "GitFlic",
        "author_email": "support@gitflic.ru",
        "timestamp": "2022-04-13T14:16:51"
      }
    ],
    "total_commits_count": 2,
    "author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  

Добавление участника

Данный вебхук срабатывает в том случае, если пользователь принял приглашение в проект.

Описание полей объекта collaborator:

Поле Тип Описание
userid String ID добавляемого пользователя.
role String Роль пользователя в проекте. Возможные роли: OWNER, ADMIN, DEVELOPER, REPORTER, GUEST
Пример ответа
    
{
  "action": "COLLABORATOR_ADD",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "collaborator": {
    "userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "role": "GUEST"
  }
}
    
  



Удаление участника

Описание полей объекта collaborator:

Поле Тип Описание
userid String ID добавляемого пользователя.
role String Роль пользователя в проекте. Возможные роли: OWNER, ADMIN, DEVELOPER, REPORTER, GUEST
Пример ответа
    
{
  "action": "COLLABORATOR_DELETE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "collaborator": {
    "userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "role": "DEVELOPER"
  }
}
    
  



Создание дискуссии

Описание полей объекта 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.
Пример ответа
    
{
  "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"
  }
}
    
  

Новый конвейер

Описание полей объекта pipeline:

Поле Тип Описание
id String ID конвейера.
user_id String ID пользователя, запустившего конвейер.
commit_id String Хеш последнего коммита в конвейере.
Пример ответа
    
{
  "action": "PIPELINE_NEW",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "pipeline": {
    "id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d"
  }
}
    
  

Успешный конвейер

Описание полей объекта pipeline:

Поле Тип Описание
id String ID конвейера.
user_id String ID пользователя, запустившего конвейер.
commit_id String Хеш последнего коммита в конвейере.
Пример ответа
    
{
  "action": "PIPELINE_NEW",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "pipeline": {
    "id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d"
  }
}
    
  

Ошибка конвейер

Описание полей объекта pipeline:

Поле Тип Описание
id String ID конвейера.
user_id String ID пользователя, запустившего конвейер.
commit_id String Хеш последнего коммита в конвейере.
Пример ответа
    
{
  "action": "PIPELINE_NEW",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "pipeline": {
    "id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d"
  }
}