GitLab不向合并请求批准者发送通知

Gar*_*son 12 gitlab

我已经编写了一个完整的软件开发课程,直到最近我们一直在使用Bitbucket.我最近重写了过程中使用GitLab代替,主要是因为GitLab的用户名是不依赖于像到位桶特定的电子邮件.我听说过好话.但我已经遇到了问题.

第一个是合并请求(其他主机服务称为"拉取请求")不向批准者发送通知.我们刚上课,教我的学生创建合并请求.我让他们把我作为"记者"添加到他们的项目中.然后我让他们创建了一个合并请求,并将我添加为"审批者".

然而,我没有收到任何电子邮件通知我,两名学生已经与我作为批准者创建了合并请求.我仔细检查,我的全局通知设置为"参与".

我在对GitLab票证评论中报告了这个问题,但未收到任何回复.我甚至提交了一份新的官方GitLab错误报告 ; 有人终于看了它,并为GitLab EE创建了另一张票.到目前为止,还没有人真正发现这个问题.

因此,作为一种解决方法,我进入了我的GitLab nofication设置,并将每个学生存储库的通知级别设置为"Watch",以便我(理论上)应该通知任何活动.果然,当我的学生创建合并请求时,我收到了通知.

不幸的是,即使通知级别为"watch",当学生通过对分支机构做出新的承诺并将其推送到GitLab来更新合并请求时,我也没有得到通知.

难道我做错了什么?为什么我没有得到我批准的合并请求的通知 - 即使我正在观看项目时也没有?如果我不能让这个简单的核心功能工作,我想我们将转移到Github,现在他们引入了私有存储库.

Car*_*ero 2

角色“报告者”无法接受/管理存储库中的合并请求。查看权限的完整列表,但基本上它们是:

访客:只读访问权限

记者:问题与评论

开发人员:将操作推送到存储库

维护者:管理员

我没有测试自己,但也许GitLab 通知会在内部检查这一点。我的建议是保护 master 分支或根据您的 Git 工作流程进行开发。理想情况下,只有维护人员可以在代码审查后推送或合并到受保护的分支,因此您应该在存储库中为已批准的事物分配此角色,并希望收到通知。全局通知应该是“参与”,并且这会传播到您的所有存储库,以避免被通知淹没(“观看”通知存储库中的所有活动)。开发人员应该从 master/develop 创建功能或错误修复分支,并始终推送到该分支。

建议

我会研究一些 Git 工作流程:GithubGitLabGitFlow都是非常好的分析示例。您可以根据自己的需要调整工作流程。另一个必须是在合并到受保护的分支之前配置GitLab CI/CD,以确保代码的稳健性和质量,并从一开始就向学生传授良好的实践。

更新2

这种情况发生在 CE 和 EE 中。将新提交推送到合并请求时不会发送电子邮件。我用“观看”、“自定义”、“参与”、“开发者”、“维护者”进行了测试,没有发送任何电子邮件。实际上“自定义”有一个特定的“推送合并请求”选项。然而,即使不理想,如果您想使用它,也有一个解决方法。实际上,它还会发送电子邮件内提交之间的差异。在“设置/集成”中有一个选项Emails on push。您可以配置电子邮件列表来发送通知。请参见下图。如果您想在有人将新提交推送到 MR 时收到通知,另一个解决方法是配置 CI 管道。如果管道失败或成功,您将收到一封电子邮件(这就是我们正在做的方式)。让我们等待 GitLab 人员回复您的 GitLab 请求。如果这对您来说是一个不行的问题,并且所有解决方法都不适合您,那么我将转向GitHub Private Repositories

在此输入图像描述

在此输入图像描述