Bitbucket 服务器:在推送修改特定文件夹内文件的提交时发送电子邮件

Bitbucket server: Send email when pushing a commit that modifies files inside a specific folder

当有人推送一个或多个修改文件夹内文件的提交时,有什么方法可以发送电子邮件吗?

我有一个文件夹,其中的文件包含在大多数提交中不应更改的通用代码。但是如果有人对这些文件进行更改,我想触发一个 email/slack 通知。

是否可以使用 BitBucket 服务器?也许有一个插件可以让我这样做?

如果您谈论的是 bitbucket.org,意思是您没有直接 access/control 的 Git 存储库托管服务器,您需要 setup a webhook

该 webhook 将调用您选择的网络侦听器,它可以检查 push JSON payload,并将新提交提取到本地存储库中。

从那里,您可以进行比较,并检查 .

是的,如评论所述,Jenkins 服务器(由您控制​​)可以用作 Webhook 侦听器,具有 JENKINS/Generic Webhook Trigger Plugin.

OP Gaston K mentions :

I'm using bitbucket server, which is basically the same but running on my end, I guess.

然后,如果您可以访问服务器,则可以设置一个 post-接收挂钩:请参阅“Atlassian / BitBucket / Using repository hooks”。 您将使用 Repository Hook Plugin Module, to define a hook of type "PostRepositoryHook"

然后,您可以使用 Atlassian SDK,编写实现该类型的 class 代码:

public class NotificationPostRepositoryHook implements PostRepositoryHook<RepositoryHookRequest> {

(参见 Creating a New Plugin from Scratch 开始)