Вебхуки
Обратите внимание! что для взаимодействия с вебхуками через 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
- Данные по запросу не найдены.