Сервер Bitbucket: отправка электронной почты при отправке коммита, который изменяет файлы в определенной папке - PullRequest
0 голосов
/ 02 января 2019

Есть ли способ отправить электронное письмо, когда кто-то нажимает на один или несколько коммитов, которые изменяют файлы в папке?

У меня есть папка с файлами, которые содержат общий код, который не следует изменять в большинстве коммитов. Но если кто-то вносит изменения в эти файлы, я хотел бы вызвать уведомление по электронной почте / slack.

Можно ли это сделать с сервером BitBucket? может быть, есть плагин, который позволяет мне сделать это?

1 Ответ

0 голосов
/ 02 января 2019

Если вы говорите о bitbucket.org, то есть о хостинг-сервере Git, к которому у вас нет прямого доступа / контроля, вам нужно настроить webhook

Этот webhookвызовет веб-прослушиватель по вашему выбору, который может проверить полезную нагрузку push JSON и извлечь новые коммиты в локальный репозиторий.

Оттуда вы можете сделать diff и проверитьесли конкретное содержимое каталога изменилось .

И да, как прокомментировано, сервер Jenkins (которым вы управляете) может использоваться в качестве прослушивателя веб-крюка с JENKINS / GenericПлагин Webhook Trigger .

В ОП Гастон К упоминает в комментариях :

Я использую сервер Bitbucket,я думаю, что это в основном то же самое, но работает на моем конце.

Затем, если у вас есть доступ к серверу, вы можете настроить хук после получения: см. " Atlassian / BitBucketИспользование хуков репозитория".Вы будете использовать Модуль подключаемого модуля хранилища , чтобы определить крючок типа "PostRepositoryHook"

. Затем вы можете использовать Atlassian SDK , код класса, который реализует этот тип:

public class NotificationPostRepositoryHook implements PostRepositoryHook<RepositoryHookRequest> {

(см., Например, Создание нового плагина с нуля для начала работы)

...