Вебхуки

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

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

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

Cобытие Описание
ISSUE_CREATE Создание задачи
ISSUE_UPDATE Обновление задачи
MERGE_REQUEST_CREATE Создание запроса на слияние
MERGE_REQUEST_UPDATE Обновление запроса на слияние
TAG_CREATE Создание тэга
TAG_DELETE Удаление тэга
BRANCH_CREATE Создание ветки
BRANCH_DELETE Удаление ветки
BRANCH_UPDATE Обновление ветки
COLLABORATOR_ADD Добавление участника
COLLABORATOR_UPDATE Обновление прав участника
COLLABORATOR_DELETE Удаление участника
webhook.discussion.comment.create Создание дискуссии

Создание задачи

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

Поле Тип Описание
id String Айди проблемы
user_id String Айди пользователя, создавшего проблему
title String Название проблемы
description String Описание проблемы
status String Статус проблемы
Пример ответа
    
{
  "action": "webhook.issue.create",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "issue": {
    "id": "9xex103c-31bd-442f-b8e3-98c9809bddeb",
    "user_id": "a9f0x64-x437-4xf5-adab-d864e3945d41",
    "title": "Названиe",
    "description": "Описание",
    "status": "OPEN"
  }
}
    
  



Обновление задачи

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

Поле Тип Описание
id String Айди проблемы.
user_id String Айди пользователя, обновившего проблему.
title String Название проблемы.
description String Описание проблемы.
status String Статус проблемы. Возможные статусы: OPEN, IN_PROGRESS, CLOSED, COMPLETED
Пример ответа
    
{
  "action": "webhook.issue.update",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "issue": {
    "id": "9qeq103c-31bd-442f-b8e3-98c9809bddeb",
    "user_id": "a9f0x64-x437-4xf5-adab-d864e3945d41",
    "title": "Названиеe",
    "description": "Описаниеee",
    "status": "COMPLETED"
  }
}
    
  



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

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

Поле Тип Описание
id String Айди запроса на слияение.
user_id String Айди пользователя, создавшего запрос на слияние.
title String Название запроса на слияние.
description String Описание запроса на слияние.
status String Статус запроса на слияние.
source_branch String Исходная ветка запроса на слияние.
target_project_id String Айди целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
Пример ответа
    
{
  "action": "webhook.merge-request.create",
  "project_id": "437qq73c-be6e-4925-a179-d1878ff9c742",
  "merge_request": {
    "id": "ba394afb-d558-4925-9f2d-53ccce05b64a",
    "user_id": "axf0a164-c437-42f5-adab-d864e3945d41",
    "title": "Название запроса на слияние",
    "description": "Описание запроса на слияние",
    "status": "OPENED",
    "source_branch": "develop",
    "target_project_id": "437xx73c-be6e-4925-a179-d1878ff9c742",
    "target_branch": "master"
  }
}
    
  



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

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

Поле Тип Описание
id String Айди запроса на слияние.
user_id String Айди пользователя, создавшего запрос на слияние.
title String Название запроса на слияние.
description String Описание запроса на слияние.
status String Статус запроса на слияние. Возможные статусы: OPENED,CLOSED,MERGED,FAILED,CONFLICT,CANCELED,REVERTED.
source_branch String Исходная ветка запроса на слияние.
target_project_id String Айди целевого проекта для слияния.
target_branch String Целевая ветка запроса на слияние.
Пример ответа
    
{
  "action": "webhook.merge-request.update",
  "project_id": "437qq73c-be6e-4925-a179-d1878ff9c742",
  "merge_request": {
    "id": "xx594afb-d558-4925-9f2d-53ccce05b64a",
    "user_id": "axf0a164-c437-42f5-adab-d864e3945d41",
    "title": "Название запроса на слияние",
    "description": "Описание запроса на слияние",
    "status": "OPENED",
    "source_branch": "develop",
    "target_project_id": "437xx73c-be6e-4925-a179-d1878ff9c742",
    "target_branch": "master"
  }
}
    
  



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

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

Поле Тип Описание
before String Хэш предыдущего коммита. (Для новых тэгов нулевой коммит)
after String Хэш текущего коммита (На этом коммите был создан тэг)
ref String Ссылка на гит-объект
commits Массив Массив коммитов.(Тэг не содержит коммитов, лишь ссылку на коммит)
total_commits_count String Количество коммитов
Пример ответа
    
{
  "action": "webhook.tag.create",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "push": {
    "before": "0000000000000000000000000000000000000000",
    "after": "b352fa74ab4f6b392cf088df4ccb48a6bf739ede",
    "ref": "refs/tags/v2",
    "commits": [],
    "total_commits_count": 0
  }
}
    
  



Удаление тэга

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

Поле Тип Описание
before String Хэш предыдущего коммита. (На этом коммите был создан удалённый тэг)
after String Хэш текущего коммита (Нулевой коммит для удаленного тэга)
ref String Ссылка на гит-объект
commits Массив Массив коммитов.(Тэг не содержит коммитов, лишь ссылку на коммит)
total_commits_count String Количество коммитов
Пример ответа
    
{
  "action": "webhook.tag.delete",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "push": {
    "before": "b353fa74ab4f6b392cf088df4ccb48a6bf739ede",
    "after": "0000000000000000000000000000000000000000",
    "ref": "refs/tags/v2",
    "commits": [],
    "total_commits_count": 0
  }
}
    
  



Создание ветки

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

Поле Тип Описание
before String Хэш предыдущего коммита.
after String Хэш текущего коммита (Последний коммит на созданной ветке)
ref String Ссылка на гит-объект
commits Массив Массив коммитов.(Если запушена ветка без новых коммитов, то массив будет пуст)
total_commits_count String Количество коммитов

Описание полей объектов входящих в состав commits:

Поле Тип Описание
id String Айди коммита.
message String Сообщение коммита.
author_name String Имя автора коммита
author_email String Почта автора коммита
timestamp String Время коммита в формате UTC.
Пример ответа
    
{
  "action": "webhook.branch.create",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "push": {
    "before": "0000000000000000000000000000000000000000",
    "after": "646e92b2c03576aa22f39708074d36792bd1fed0",
    "ref": "refs/heads/develop",
    "commits": [
      {
        "id": "646e92b2c03576aa22f39708074d36792bd1fed0",
        "message": "develop branch\n",
        "author_name": "Ivan Ivanov",
        "author_email": "ivanIvanov@mail.com",
        "timestamp": "2022-04-13T14:12:51"
      }
    ],
    "total_commits_count": 1
  }
}
    
  



Удаление ветки

Поле Тип Описание
before String Хэш предыдущего коммита.
after String Хэш текущего коммита (Нулевой коммит для удалённой ветки)
ref String Ссылка на гит-объект
commits Массив Массив коммитов.(Пуст для удалённой ветки)
total_commits_count String Количество коммитов
Пример ответа
    
{
  "action": "webhook.branch.delete",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "push": {
    "before": "646e92b2c03576aa22f39708074d36792bd1fed0",
    "after": "0000000000000000000000000000000000000000",
    "ref": "refs/heads/develop",
    "commits": [],
    "total_commits_count": 0
  }
}
    
  



Обновление ветки

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

Поле Тип Описание
before String Хэш предыдущего коммита.
after String Хэш текущего коммита.
ref String Ссылка на гит-объект
commits Массив Массив коммитов.(максимальное количество отображаемых коммитов 20)
total_commits_count String Количество коммитов

Описание полей объектов входящих в состав commits:

Поле Тип Описание
id String Айди коммита.
message String Сообщение коммита.
author_name String Имя автора коммита
author_email String Почта автора коммита
timestamp String Время коммита в формате UTC.
Пример ответа
    
{
  "action": "webhook.branch.update",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "push": {
    "before": "ad49abb508911caad935c4d9add93f4df4c926e2",
    "after": "f716dabd68cbf6a70f26dc74bc806f179ad7029e",
    "ref": "refs/heads/master",
    "commits": [
      {
        "id": "f716dabd68cbf6a70f26dc74bc806f179ad7029e",
        "message": "developer\n",
        "author_name": "GitFlic",
        "author_email": "support@gitflic.ru",
        "timestamp": "2022-04-13T14:17:32"
      },
      {
        "id": "c01576001fbc13a961dd3aef9eb9a8d88733946c",
        "message": "master\n",
        "author_name": "GitFlic",
        "author_email": "support@gitflic.ru",
        "timestamp": "2022-04-13T14:16:51"
      }
    ],
    "total_commits_count": 2
  }
}
    
  

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

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

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

Поле Тип Описание
userid String Айди добавляемого пользователя.
role String Роль пользователя в проекте.
Пример ответа
    
{
  "action": "collaborator.add",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "collaborator": {
    "userid": "325960c2-f71a-405b-87e0-bede348ef598",
    "role": "ADMIN"
  }
}
    
  



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

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

Поле Тип Описание
userid String Айди добавляемого пользователя.
role String Роль пользователя в проекте.
Пример ответа
    
{
  "action": "collaborator.delete",
  "project_id": "130b3079-a138-4182-8043-7a67c43ada43",
  "collaborator": {
    "userid": "0f3f65ac-2217-4dda-bed2-cf8125b0fd4d",
    "role": "DEVELOPER"
  }
}
    
  



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

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

Поле Тип Описание
id String Айди дискуссии.
author_id String Айди автора дискуссии.
message String Сообщение.
old_path String Старый путь файла на строке которого была создана дискуссия.
new_path String Новый путь файла на строке которого была создана дискуссия.
type String Тип дискуссии.
created_at String Дата создания в стандарте UTC.
new_line Integer Новая строка файла на которой была создана дискуссия.
old_line Integer Старая строка файла на которой была создана дискуссия.
resolved Boolean Закрыта ли дискуссия.
Пример ответа
    
{
  "action": "webhook.discussion.create",
  "project_id": "1076cc9b-a9cb-4e8c-998c-9d1c7874ff9d",
  "note": {
    "id": "7f69bcdd-8b8a-4ee3-a375-49640ff8d369",
    "author_id": "a1f0b164-c437-42f5-adab-d864e3945d41",
    "message": "Это надо исправить",
    "old_path": "pom.xml",
    "new_path": "pom.xml",
    "type": "MERGE_REQUEST_COMMENT",
    "created_at": "2022-04-20T11:43:32.153282Z[UTC]",
    "new_line": 60,
    "old_line": 57,
    "resolved": false
  }
}