Вебхуки

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

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

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

Cобытие Описание
webhook.issue.create Создание задачи
webhook.issue.update Обновление задачи
webhook.merge-request.create Создание запроса на слияние
webhook.merge-request.update Обновление запроса на слияние
webhook.tag.create Создание тэга
webhook.tag.delete Удаление тэга
webhook.branch.create Создание ветки
webhook.branch.delete Удаление ветки
webhook.branch.update Обновление ветки
webhook.collaborator.add Добавление участника
webhook.collaborator.update Обновление прав участника
webhook.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
  }
}