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

Вебхуки

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


Описание структуры JSON-объекта, описывающего вебхук
Поле Тип Описание
id string Уникальный ID вебхука
url string Url куда будут приходить Json-события
secret string Секрет для вебхука
projectId string ID проекта
createdAt string Дата создания вебхука в формате UTC
updatedAt string Дата редактирования вебхука в формате UTC
events Объект События вебхука
Описание структуры JSON-объекта, описывающего события вебхука
Поле Тип Описание
COLLABORATOR_ADD boolean Добавление участника в проект
COLLABORATOR_DELETE boolean Удаление участника из проекта
COLLABORATOR_UPDATE boolean Обновление статуса участника в проекте
ISSUE_UPDATE boolean Обновление проблемы
ISSUE_CREATE boolean Создание проблемы
NEW_ISSUE_NOTE boolean Новый комментарий к проблеме
TAG_DELETE boolean Удаление тега
TAG_CREATE boolean Создание тега
BRANCH_UPDATE boolean Обновление ветки
BRANCH_DELETE boolean Удаление ветки
BRANCH_CREATE boolean Создание ветки
MERGE_REQUEST_CREATE boolean Создание запроса на слияние
MERGE_REQUEST_UPDATE boolean Обновление запроса на слияние
MERGE boolean Слияние
MERGE_REQUEST_CLOSE boolean Закрытие запроса на слияние
MERGE_REQUEST_CANCEL boolean Отмена запроса на слияние
MERGE_REQUEST_ACCEPT boolean Одобрение запроса на слияние
DISCUSSION_CREATE boolean Создание дискуссии в запросе на слияние
DISCUSSION_COMMENT_CREATE boolean Создание комментария в дискуссии в запросе на слияние
PUSH boolean Пуш в проекте
PIPELINE_NEW boolean Новый конвейер
PIPELINE_SUCCESS boolean Успешный конвейер
PIPELINE_FAIL boolean Ошибка конвейера
WEBHOOK_SEND boolean Отправка вебхука

Просмотр вебхуков проекта

GET /project/{ownerAlias}/{projectAlias}/setting/webhook

Запрос возвращает массив вебхуков, есть возможность настройки количества отображаемых объектов на странице

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "webhookList": [
            {
                "id": "e93b461a-aaaa-aaaa-aaaa-306c3578c989",
                "url": "https://example.com",
                "secret": "SOME SECRET CODE",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "NEW_ISSUE_NOTE": true,
                    "MERGE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "BRANCH_UPDATE": true,
                    "WEBHOOK_SEND": false,
                    "MERGE_REQUEST_ACCEPT": true,
                    "MERGE_REQUEST_CLOSE": true,
                    "DISCUSSION_CREATE": true,
                    "BRANCH_DELETE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "PIPELINE_NEW": true,
                    "ISSUE_CREATE": true,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "MERGE_REQUEST_CANCEL": true,
                    "PIPELINE_SUCCESS": true,
                    "COLLABORATOR_UPDATE": true,
                    "BRANCH_CREATE": true,
                    "PUSH": false,
                    "PIPELINE_FAIL": true
                },
                "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
                "createdAt": "2024-03-19T09:56:16.376885Z",
                "updatedAt": "2024-03-21T10:10:07.336450Z"
            },
            {
                "id": "e93b461a-aaaa-aaaa-aaaa-306c3578c989",
                "url": "https://example.com",
                "secret": "SOME SECRET CODE",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "NEW_ISSUE_NOTE": true,
                    "MERGE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": false,
                    "MERGE_REQUEST_CREATE": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CLOSE": true,
                    "MERGE_REQUEST_ACCEPT": true,
                    "DISCUSSION_CREATE": true,
                    "BRANCH_DELETE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "PIPELINE_NEW": true,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "MERGE_REQUEST_CANCEL": true,
                    "PIPELINE_SUCCESS": true,
                    "COLLABORATOR_UPDATE": true,
                    "PIPELINE_FAIL": true,
                    "BRANCH_CREATE": true,
                    "PUSH": false
                },
                "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
                "createdAt": "2024-03-19T09:56:16.376885Z",
                "updatedAt": "2024-03-21T10:10:07.336450Z"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Просмотр вебхука по id

GET /project/{ownerAlias}/{projectAlias}/setting/webhook/{id}

Запрос возвращает вебхук

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта
id String Id вебхука

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "id": "e93b461a-aaaa-aaaa-aaaa-306c3578c989",
    "url": "https://example.com",
    "secret": "SOME SECRET CODE",
    "events": {
        "COLLABORATOR_DELETE": true,
        "NEW_ISSUE_NOTE": true,
        "MERGE": true,
        "ISSUE_UPDATE": true,
        "TAG_DELETE": true,
        "WEBHOOK_SEND": false,
        "MERGE_REQUEST_CREATE": true,
        "BRANCH_UPDATE": true,
        "MERGE_REQUEST_CLOSE": true,
        "MERGE_REQUEST_ACCEPT": true,
        "DISCUSSION_CREATE": true,
        "BRANCH_DELETE": true,
        "MERGE_REQUEST_UPDATE": true,
        "PIPELINE_NEW": true,
        "DISCUSSION_COMMENT_CREATE": true,
        "ISSUE_CREATE": true,
        "TAG_CREATE": true,
        "COLLABORATOR_ADD": true,
        "MERGE_REQUEST_CANCEL": true,
        "PIPELINE_SUCCESS": true,
        "COLLABORATOR_UPDATE": true,
        "PIPELINE_FAIL": true,
        "BRANCH_CREATE": true,
        "PUSH": false
    },
    "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
    "createdAt": "2024-03-19T09:56:16.376885Z",
    "updatedAt": "2024-03-21T10:10:07.336450Z"
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


Создание вебхука`

POST `/project/{ownerAlias}/{projectAlias}/setting/webhook

Запрос создает вебхук

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта

Request

Поддерживаемый формат: application/json

Примечание: Вы можете пропустить некоторые ивенты, указав лишь те, что вам необходимы.

Структура тела POST-запроса:

    
{
    "url": "https://example.com",
    "secret": "SOME SECRET CODE",
    "events": {
        "COLLABORATOR_DELETE": true,
        "NEW_ISSUE_NOTE": true,
        "MERGE": true,
        "ISSUE_UPDATE": true,
        "TAG_DELETE": true,
        "WEBHOOK_SEND": false,
        "MERGE_REQUEST_CREATE": true,
        "BRANCH_UPDATE": true,
        "MERGE_REQUEST_CLOSE": true,
        "MERGE_REQUEST_ACCEPT": true,
        "DISCUSSION_CREATE": true,
        "BRANCH_DELETE": true,
        "MERGE_REQUEST_UPDATE": true,
        "PIPELINE_NEW": true,
        "DISCUSSION_COMMENT_CREATE": true,
        "ISSUE_CREATE": true,
        "TAG_CREATE": true,
        "COLLABORATOR_ADD": true,
        "MERGE_REQUEST_CANCEL": true,
        "PIPELINE_SUCCESS": true,
        "COLLABORATOR_UPDATE": true,
        "PIPELINE_FAIL": true,
        "BRANCH_CREATE": true,
        "PUSH": false
    }
}
    

Responses

STATUS 200 - пример JSON:

Пример ответа
    
    {
        "id": "28209e4d-aaaa-aaaa-aaaa-5ef23f559530",
        "url": "https://example.com",
        "secret": "SOME SECRET CODE",
        "events": {
            "COLLABORATOR_DELETE": true,
            "NEW_ISSUE_NOTE": true,
            "MERGE": true,
            "ISSUE_UPDATE": true,
            "TAG_DELETE": true,
            "WEBHOOK_SEND": false,
            "MERGE_REQUEST_CREATE": true,
            "BRANCH_UPDATE": true,
            "MERGE_REQUEST_CLOSE": true,
            "MERGE_REQUEST_ACCEPT": true,
            "DISCUSSION_CREATE": true,
            "BRANCH_DELETE": true,
            "MERGE_REQUEST_UPDATE": true,
            "PIPELINE_NEW": true,
            "DISCUSSION_COMMENT_CREATE": true,
            "ISSUE_CREATE": true,
            "TAG_CREATE": true,
            "COLLABORATOR_ADD": true,
            "MERGE_REQUEST_CANCEL": true,
            "PIPELINE_SUCCESS": true,
            "COLLABORATOR_UPDATE": true,
            "PIPELINE_FAIL": true,
            "BRANCH_CREATE": true,
            "PUSH": false
        },
        "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
        "createdAt": "2024-05-03T20:35:35.895525Z",
        "updatedAt": "2024-05-03T20:35:35.895526Z"
    }
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.

STATUS 422 - Тело запроса не прошло валидацию на сервере.


Обновление вебхука по id

POST /project/{ownerAlias}/{projectAlias}/setting/webhook/{id}

Запрос обновляет вебхук по Id

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта
id String Id вебхука

Request

Поддерживаемый формат: application/json

Примечание: Вы можете пропустить некоторые ивенты, указав лишь те, что вам необходимы.

Структура тела POST-запроса:

    
{
    "url": "https://example.com",
    "secret": "SOME SECRET CODE",
    "events": {
        "COLLABORATOR_DELETE": true,
        "NEW_ISSUE_NOTE": true,
        "MERGE": true,
        "ISSUE_UPDATE": true,
        "TAG_DELETE": true,
        "WEBHOOK_SEND": false,
        "MERGE_REQUEST_CREATE": true,
        "BRANCH_UPDATE": true,
        "MERGE_REQUEST_CLOSE": true,
        "MERGE_REQUEST_ACCEPT": true,
        "DISCUSSION_CREATE": true,
        "BRANCH_DELETE": true,
        "MERGE_REQUEST_UPDATE": true,
        "PIPELINE_NEW": true,
        "DISCUSSION_COMMENT_CREATE": true,
        "ISSUE_CREATE": true,
        "TAG_CREATE": true,
        "COLLABORATOR_ADD": true,
        "MERGE_REQUEST_CANCEL": true,
        "PIPELINE_SUCCESS": true,
        "COLLABORATOR_UPDATE": true,
        "PIPELINE_FAIL": true,
        "BRANCH_CREATE": true,
        "PUSH": false
    }
}
    

Responses

STATUS 200 - пример JSON:

Пример ответа
    
    {
        "id": "28209e4d-aaaa-aaaa-aaaa-5ef23f559530",
        "url": "https://example.com",
        "secret": "SOME SECRET CODE",
        "events": {
            "COLLABORATOR_DELETE": true,
            "NEW_ISSUE_NOTE": true,
            "MERGE": true,
            "ISSUE_UPDATE": true,
            "TAG_DELETE": true,
            "WEBHOOK_SEND": false,
            "MERGE_REQUEST_CREATE": true,
            "BRANCH_UPDATE": true,
            "MERGE_REQUEST_CLOSE": true,
            "MERGE_REQUEST_ACCEPT": true,
            "DISCUSSION_CREATE": true,
            "BRANCH_DELETE": true,
            "MERGE_REQUEST_UPDATE": true,
            "PIPELINE_NEW": true,
            "DISCUSSION_COMMENT_CREATE": true,
            "ISSUE_CREATE": true,
            "TAG_CREATE": true,
            "COLLABORATOR_ADD": true,
            "MERGE_REQUEST_CANCEL": true,
            "PIPELINE_SUCCESS": true,
            "COLLABORATOR_UPDATE": true,
            "PIPELINE_FAIL": true,
            "BRANCH_CREATE": true,
            "PUSH": false
        },
        "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
        "createdAt": "2024-05-03T20:35:35.895525Z",
        "updatedAt": "2024-05-03T20:35:35.895526Z"
    }
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.

Удаление вебхука

POST /project/{ownerAlias}/{projectAlias}/setting/webhook/{id}/delete

Запрос удаляет вебхук по Id

Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта
id String Id вебхука

Responses

STATUS 200 - Успешно удалено.

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.