Представим, что нам надо отправлять сообщения в Битрикс24 на события из bitbucket, например Тимлиду ссылку на пулреквест для кодревью.
Bitbucket webhook
Вебхуки bitbucket имеют события на пулреквесты, пуши и ишью. Полный перечень .
Добавляется вебхука в настройках репозитория:

Укажите путь, куда будет отправлен запрос и выберите какие события вы хотите обрабатывать:

Обработка событий и отправка сообщения в чат
Следующий скрипт, принимает запрос от bitbucket и отправляет ссылку на пулреквест Тимлиду на портал.
Отправленное сообщение состоит из названия и ссылки на пулреквест.
Вот так просто. Логику поиска получателей или отправителей вы уже должны реализовать самостоятельно, в зависимости от ваших процессов и замысла. В нашем примере, для упрощения, ID пользователей прописаны явно.
Для обработки вебхуков bitbucket используется . Библиотека понимает большинство событий и комплектует объекты данными ответа в виде методов для получения ника автора, ссылки на пулреквест, комментарии коммитов и так далее.
Bitbucket webhook
Вебхуки bitbucket имеют события на пулреквесты, пуши и ишью. Полный перечень .
Добавляется вебхука в настройках репозитория:

Укажите путь, куда будет отправлен запрос и выберите какие события вы хотите обрабатывать:

Обработка событий и отправка сообщения в чат
Следующий скрипт, принимает запрос от bitbucket и отправляет ссылку на пулреквест Тимлиду на портал.
Отправленное сообщение состоит из названия и ссылки на пулреквест.
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'; // Объект ответа $bitbucket = new \Dbogdanoff\Bitbucket\PullRequest(); $fromUserId = 1; $toUserId = 7; // Отправляем сообщение $messageID = \CIMMessage::Add([ 'FROM_USER_ID' => $fromUserId, 'TO_USER_ID' => $toUserId, 'MESSAGE' => $bitbucket->getTitle() . "\n" . $bitbucket->getLink() ]); require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php'; |
Для обработки вебхуков bitbucket используется . Библиотека понимает большинство событий и комплектует объекты данными ответа в виде методов для получения ника автора, ссылки на пулреквест, комментарии коммитов и так далее.