Вебхуки
Для настройки вебхука воспользуйтесь инструкцией.
Общие поля вебхуков:
Поле | Тип | Описание |
---|---|---|
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"
}
}