GitFlic 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 Создание проблемы
TAG_DELETE boolean Удаление тега
TAG_CREATE boolean Создание тега
BRANCH_UPDATE boolean Обновление ветки
BRANCH_DELETE boolean Удаление ветки
BRANCH_CREATE boolean Создание ветки
MERGE_REQUEST_CREATE boolean Создание запроса на слияние
MERGE_REQUEST_UPDATE boolean Обновление запроса на слияние
DISCUSSION_CREATE boolean Создание дискуссии в запросе на слияние
DISCUSSION_COMMENT_CREATE boolean Создание комментария в дискуссии в запросе на слияние
PUSH boolean Пуш в проекте
WEBHOOK_SEND boolean Отправка вебхука

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

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

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

Запрос Описание
GET /project/{ownerAlias}/{projectAlias}/setting/webhook Список вебхуков проекта
Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    "_embedded": {
        "webhookList": [
            {
                "id": "a49523c3-0bac-4333-ad3f-c62efa064989",
                "url": "https://example.site/8e8ef5c6-bd07-495e-9f1f-b853e8978097",
                "secret": "secret",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": false,
                    "TAG_DELETE": false,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": false,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": false,
                    "MERGE_REQUEST_UPDATE": false,
                    "BRANCH_DELETE": false,
                    "DISCUSSION_COMMENT_CREATE": false,
                    "ISSUE_CREATE": false,
                    "TAG_CREATE": false,
                    "COLLABORATOR_ADD": false,
                    "COLLABORATOR_UPDATE": false,
                    "BRANCH_CREATE": false,
                    "PUSH": false
                },
                "projectId": "9c3c0330-a47d-4d38-b8c5-e8a0ec834f79",
                "createdAt": "2022-10-11T22:52:46.314308Z",
                "updatedAt": "2022-10-11T22:52:46.314311Z"
            },
            {
                "id": "2e888f03-bdd7-47c7-a956-ec8efd04c584",
                "url": "https://webhook.site/e8124e8d-24bd-48b1-8775-3af3c1084175",
                "secret": "123456",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "BRANCH_DELETE": true,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "COLLABORATOR_UPDATE": true,
                    "BRANCH_CREATE": true,
                    "PUSH": true
                },
                "projectId": "9c3c0330-a47d-4d38-b8c5-e8a0ec834f79",
                "createdAt": "2022-10-11T22:52:18.223052Z",
                "updatedAt": "2022-10-11T22:52:18.223072Z"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  


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

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


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

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

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

Запрос Описание
GET /project/{ownerAlias}/{projectAlias}/setting/webhook/{id} Возвращает информацию о вебхуке по id
Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта
id String Id вебхука

Responses

STATUS 200 - пример JSON:

Пример ответа
    
 {
                "id": "a49523c3-0bac-4333-ad3f-c62efa06498d9",
                "url": "https://example.org/8e8ef5c6-bd07-495e-9f1f-b853e8978097",
                "secret": "SOME SECRET CODE",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "BRANCH_DELETE": false,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "COLLABORATOR_UPDATE": false,
                    "BRANCH_CREATE": true,
                    "PUSH": true
                },
                "projectId": "9c3c0330-a47d-4d38-b8c5-e8a0ec834f79",
                "createdAt": "2022-10-11T22:52:46.314308Z",
                "updatedAt": "2022-10-11T22:52:46.314311Z"
}
    
  


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

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


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

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

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

Запрос Описание
POST /project/{ownerAlias}/{projectAlias}/setting/webhook Создание вебхука
Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта

Request

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

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

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

    
 {
                "url": "https://example.org/8e8ef5c6-bd07-495e-9df1f-b853e8978097",
                "secret": "SOME SECRET CODE",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "BRANCH_DELETE": false,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "COLLABORATOR_UPDATE": false,
                    "BRANCH_CREATE": true,
                    "PUSH": true
                }
}
    

Responses

STATUS 200 - пример JSON:

Пример ответа
    
 {
                "id": "a49523c3-0bac-4333-ad3f-c62efa06498d9",
                "url": "https://example.org/8e8ef5c6-bd07-495e-9f1f-b853e8978097",
                "secret": "SOME SECRET CODE",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "BRANCH_DELETE": false,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "COLLABORATOR_UPDATE": false,
                    "BRANCH_CREATE": true,
                    "PUSH": true
                },
                "projectId": "9c3c0330-a47d-4d38-b8c5-e8a0ec834f79",
                "createdAt": "2022-10-11T22:52:46.314308Z",
                "updatedAt": "2022-10-11T22:52:46.314311Z"
}
    
  


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

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

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


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

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

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

Запрос Описание
POST /project/{ownerAlias}/{projectAlias}/setting/webhook/{id} Запрос обновляет информацию о вебхуке по id
Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта
id String Id вебхука

Request

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

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

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

    
 {
                "url": "https://example.org/changeWebhook",
                "secret": "EDIT",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "BRANCH_DELETE": false,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "COLLABORATOR_UPDATE": false,
                    "BRANCH_CREATE": true,
                    "PUSH": false
                }
}
    

Responses

STATUS 200 - пример JSON:

Пример ответа
    
 {
                "id": "a49523c3-0bac-4333-ad3f-c62efa06498d9",
                "url": "https://example.org/changeWebhook",
                "secret": "EDIT",
                "events": {
                    "COLLABORATOR_DELETE": true,
                    "ISSUE_UPDATE": true,
                    "TAG_DELETE": true,
                    "WEBHOOK_SEND": true,
                    "BRANCH_UPDATE": true,
                    "MERGE_REQUEST_CREATE": true,
                    "DISCUSSION_CREATE": true,
                    "MERGE_REQUEST_UPDATE": true,
                    "BRANCH_DELETE": false,
                    "DISCUSSION_COMMENT_CREATE": true,
                    "ISSUE_CREATE": true,
                    "TAG_CREATE": true,
                    "COLLABORATOR_ADD": true,
                    "COLLABORATOR_UPDATE": false,
                    "BRANCH_CREATE": true,
                    "PUSH": false
                },
                "projectId": "9c3c0330-a47d-4d38-b8c5-e8a0ec834f79",
                "createdAt": "2022-10-11T22:52:46.314308Z",
                "updatedAt": "2022-10-11T22:52:46.314311Z"
}
    
  


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

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

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

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

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

Запрос Описание
POST /project/{ownerAlias}/{projectAlias}/setting/webhook/{id}/delete Запрос удаляет вебхук по id
Переменная пути запроса Тип Описание
ownerAlias String Псевдоним владельца
projectAlias String Псевдоним проекта
id String Id вебхука

Responses

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

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

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