- 谁接收通知
- 编辑通知设置
- 通知事件
- 关于议题、合并请求和史诗的通知
- 未知登录通知
- 使用错误的双重身份验证码尝试登录的通知
- 关于设计的通知
- 关于群组或项目访问过期的通知
- 选择退订所有电子邮件
- 从通知邮件取消订阅
- 可用于过滤电子邮件的电子邮件标头
- 故障排查
通知邮件
- 增强的电子邮件样式引入于 14.9 版本,功能标志名为
enhanced_notify_css
。默认禁用。- 增强的电子邮件样式在 SaaS 版上启用于 14.9 版本。
- 增强的电子邮件样式在 私有化部署版上启用于 15.0 版本。
通过电子邮件通知随时了解极狐GitLab 中发生的事情。您可以接收有关议题、合并请求、史诗和设计中活动的更新。
对于极狐GitLab 管理员可以用来给用户发消息的工具,可查阅来自极狐GitLab 的电子邮件。
在极狐GitLab 17.2 及以后版本中,每个用户的每个项目或群组的每 24 小时的通知都会受到限制。
谁接收通知
当为议题、合并请求或史诗启用通知时,极狐GitLab 会通知您在那里发生的操作。
由于以下原因之一,您可能会收到通知:
- 您参与议题、合并请求、史诗或设计。当您发表评论或编辑,或有人提及1您时,您就成为参与者。
- 您已启用关于议题、合并请求和史诗的通知。
- 您已为项目或群组配置通知。
- 您已通过流水线电子邮件集成订阅群组或项目流水线通知。
- 当编辑评论包含用户提及时,系统不会发送通知。
编辑通知设置
收到很多通知可能会让人不知所措。 您可以调整收到的通知。例如,您可能希望收到有关特定项目中所有活动的通知。对于其他项目,您只希望在被提及时收到通知。
这些通知设置仅适用于您。它们不会影响其他任何人收到的通知。
要编辑您的通知设置:
- 在右上角,选择您的头像。
- 选择 偏好设置。
- 在左侧边栏中,选择 通知。
- 编辑所需的全局、群组或项目通知设置。编辑的设置会自动保存。
通知范围
您可以通过为每个项目和群组选择不同的通知级别来调整通知的范围。
通知范围从最广泛到最具体的级别应用:
- 如果您没有为发生活动的项目或组选择通知级别,则您的 全局 或 默认 通知级别适用。
- 您的 群组 设置会覆盖您的默认设置。
- 您的 项目 设置会覆盖群组设置。
通知级别
对于每个项目和群组,您可以选择以下级别之一:
级别 | 描述 |
---|---|
全局(Global) | 您的全局设置适用。 |
关注(Watch) | 接收任何活动的通知。 |
参与(Participate) | 接收您参与的主题的通知。 |
提及(On mention) | 当您在评论中被提及时接收通知。 |
禁用(Disabled) | 不接收任何通知。 |
自定义(Custom) | 接收选定事件的通知。 |
全局通知设置
除非您为项目或群组选择不同的值,否则您的 全局通知设置 是默认设置。
- 通知电子邮件:您的通知发送到的电子邮件地址。 默认为您的主要电子邮件地址。
- 全局通知级别:适用于所有通知的默认通知级别。
- 接收有关您自己活动的通知:选中此复选框可接收有关您自己活动的通知。默认不选择。
群组通知
您可以为每个群组选择通知级别和电子邮件地址。
更改群组通知级别
要为群组选择通知级别,请使用以下任一方法:
- 在右上角,选择您的头像。
- 选择 偏好设置。
- 在左侧边栏中,选择 通知。
- 在 群组 部分找到项目。
- 选择所需的通知级别。
或者:
- 在左侧边栏中,选择 搜索或转到 并找到您的群组。
- 选择铃铛图标 () 旁边的通知下拉菜单。
- 选择所需的通知级别。
更改用于群组通知的电子邮件地址
您可以选择一个电子邮件地址来接收您所属的每个群组的通知。 例如,如果您是自由职业者,并且希望将有关客户项目的电子邮件分开,您可以使用群组通知。
- 在右上角,选择您的头像。
- 选择 偏好设置。
- 在左侧边栏中,选择 通知。
- 在 群组 部分找到项目。
- 选择所需的电子邮件地址。
更改项目通知级别
为了帮助您了解最新情况,您可以为每个项目选择一个通知级别。
要为项目选择通知级别,请使用以下任一方法:
- 在右上角,选择您的头像。
- 选择 首选项。
- 在左侧边栏中,选择通知。
- 在 项目 部分找到项目。
- 选择所需的通知级别。
或者:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 选择铃铛图标 () 旁边的通知下拉菜单。
- 选择所需的通知级别。
通知事件
用户会收到以下事件的通知:
事件 | 发送给 | 设置级别 |
---|---|---|
新版本 | 项目成员 | 自定义通知。 |
项目移动 | 项目成员 | 除停用外的其它级别。 |
电子邮件更改 | 用户 | 安全电子邮件,始终发送。 |
群组访问权限更改 | 用户 | 当用户群组访问级别更改时发送。 |
添加新的电子邮件地址 | 用户 | 安全电子邮件,发送到主邮件地址。引入于 14.9 版本。 |
添加新的电子邮件地址 | 用户 | 安全电子邮件,发送到新添加的邮件地址。 |
配置新的 SAML/SCIM 用户 | 用户 | 在通过 SAML/SCIM 配置用户时发送。引入于 13.8 版本。 |
添加新的 SSH 密钥 | 用户 | 安全电子邮件,始终发送。 |
创建新用户 | 用户 | 在用户创建时发送,OmniAuth (LDAP) 除外。 |
密码更改 | 用户 | 安全电子邮件,始终在用户更改自己的密码时发送。 |
密码被管理员更改 | 用户 | 安全电子邮件,始终在管理员更改另一个用户的密码时发送。 |
个人访问令牌将要过期 | 用户 | 安全电子邮件,始终发送。 |
个人访问令牌已创建 | 用户 | 安全电子邮件,始终发送。引入于 14.9 版本。 |
个人访问令牌已过期 | 用户 | 安全电子邮件,始终发送。 |
项目访问权限更改 | 用户 | 当用户项目访问级别更改时发送。 |
SSH 密钥已过期 | 用户 | 安全电子邮件,始终发送。引入于 13.12 版本。 |
双重访问禁用 | 用户 | 安全电子邮件,始终发送。 |
用户添加到群组 | 用户 | 当用户添加到群组时发送。 |
用户添加到项目 | 用户 | 当用户添加到项目时发送。 |
群组访问过期 | 群组成员 | 当用户对群组的访问在 7 天内过期时发送。引入于极狐GitLab 16.3。 |
项目访问过期 | 项目成员 | 当用户对项目的访问在 7 天内过期时发送。引入于极狐GitLab 16.3。 |
关于议题、合并请求和史诗的通知
您还会收到有关议题、合并请求和史诗事件的通知。
谁接收有关议题、合并请求和史诗的通知
在议题、合并请求和史诗中,对于大多数事件,通知发送到:
- 参与者:
- 作者和指派人。
- 评论的作者
- 任何在标题或描述中被提及用户名的人。
- 如果他们的通知级别为“参与”或更高级别,则在评论中使用用户名提及的任何人。
- 关注者:通知级别为“关注”的用户。
- 订阅者:手动订阅通知的任何人。
- 自定义:打开了适合类型事件的通知级别为“自定义”的用户。
编辑议题、合并请求和史诗的通知设置
要启用有关特定议题、合并请求或史诗的通知,您必须打开右侧边栏中的 通知 开关。
-
要订阅,如果您不是讨论的参与者,但希望在每次更新时收到通知,请 开启。
当您在史诗中打开通知时,您不会自动订阅与史诗相关的议题。
-
要取消订阅,如果您收到更新通知但不想再收到它们,请 关闭。
关闭此开关只会取消订阅与此议题、合并请求或史诗相关的更新。
了解如何退订所有电子邮件。
关于议题、合并请求和史诗的通知事件
下表显示了为议题、合并请求和史诗生成通知的事件:
事件 | 发送给 |
---|---|
更改里程碑议题 | 订阅者和提及的参与者。 |
更改里程碑合并请求 | 订阅者和提及的参与者。 |
关闭史诗 | |
关闭议题 | |
关闭合并请求 | |
失败的流水线 | 流水线作者 |
修复的流水线 | 流水线作者。默认启用。引入于 13.1 版本。 |
议题到期 | 参与者和选择了此事件的自定义通知级别的人。 |
合并了合并请求 | |
当流水线成功时合并 | 作者、参与者、关注者、订阅者和选择了此事件的自定义通知级别的人。忽略作者、关注者和订阅者的自定义通知级别。 引入于 13.4 版本。 |
合并请求标记为 ready | 关注者和参与者。引入于 13.10 版本。 |
新建史诗 | |
新建议题 | |
新建合并请求 | |
新建备注 | 选择了此事件的参与者、观察者、订阅者和自定义通知级别的人。还有评论中通过用户名提到的任何通知级别为“提及”或更高的人。 |
推送到合并请求 | 参与者和选择了此事件的自定义通知级别的人。 |
重新指派议题 | 订阅者、提及的参与者和选择此事件的自定义通知级别的人,原来的指派人。 |
重新指派合并请求 | 订阅者、提及的参与者和选择此事件的自定义通知级别的人,原来的指派人。 |
删除里程碑议题 | 订阅者和提及的参与者。 |
删除里程碑合并请求 | 订阅者和提及的参与者。 |
重新打开史诗 | |
重新打开议题 | |
重新打开合并请求 | |
成功的流水线 | 流水线的作者,选择了成功流水线的自定义通知级别的人。如果流水线之前失败,则为失败后的第一个成功流水线发送“修复流水线”消息,然后为任何进一步成功的流水线发送“成功流水线”消息。 |
如果议题或合并请求的标题或描述发生更改,通知将发送到任何 新 提及用户名的人,类似与在原始文本中提及一样。
如果打开的合并请求由于冲突而无法合并,则会通知其作者原因。 如果用户还将合并请求设置为在流水线成功时自动合并,则该用户也会收到通知。
默认情况下,您不会收到有关您自己创建的议题、合并请求或史诗的通知。 要始终接收有关您自己的问题、合并请求等的通知,请打开关于您自己活动的通知。
未知登录通知
- 列出已登录用户的完整名称和用户名引入于极狐GitLab 15.10。
- 添加地理位置引入于极狐GitLab 17.5。
当用户从以前未知的 IP 地址或设备成功登录时,极狐GitLab 会通过电子邮件通知用户。通过这种方式,极狐GitLab 会主动提醒用户潜在的恶意或未经授权的登录。通知邮件包括:
- 宿主机名。
- 用户的完整名称和用户名。
- IP 地址。
- 地理位置。
- 登录日期和时间。
极狐GitLab 使用多种方法来识别已知登录。所有方法都失败才会发送通知电子邮件。
- 上次登录 IP:将当前登录 IP 地址与上次登录 IP 地址进行核对。
- 当前活动会话:如果用户具有来自同一 IP 地址的现有活动会话。请参阅活动会话。
- Cookie:登录成功后,浏览器中会存储一个加密的 cookie。此 cookie 设置为在最后一次成功登录后 14 天过期。
使用错误的双重身份验证码尝试登录的通知
- 引入于 15.5 版本。
如果极狐GitLab 检测到尝试使用错误的双重身份验证 (2FA) 码登录您的账户,它会向您发送电子邮件通知。这可以帮助您检测到恶意攻击者获得了您的用户名和密码的访问权限,并试图暴力破解 2FA。
关于设计的通知
- 引入于 13.6 版本。
当有人对设计发表评论时,会向参与者发送电子邮件通知。
参与者是:
- 设计的作者(如果不同的作者上传了不同版本的设计,可以是多人)。
- 设计评论的作者。
- 在设计评论中提及的任何人。
关于群组或项目访问过期的通知
- 引入于极狐GitLab 16.3。
如果用户对群组或项目的访问在 7 天内过期,极狐GitLab 会发送邮件通知。这会提醒群组或项目成员扩展他们的访问期限,如果他们希望这样做。
选择退订所有电子邮件
如果您不再希望收到任何电子邮件通知:
- 在右上角,选择您的头像。
- 选择 偏好设置。
- 在左侧导航栏,选择 通知。
- 设置您的 全局通知级别 为 禁用。
- 清除 关于您自己活动的通知 复选框。
- 如果您属于任何群组或项目,将其通知设置设置为 全局 或 禁用。
在私有化部署安装中,即使在执行此操作后,您的实例管理员仍然可以向您发送电子邮件。
从通知邮件取消订阅
您可以从极狐GitLab 的通知邮件中取消订阅(例如,特定问题)。
使用取消订阅的链接
每一封从极狐GitLab 发送的通知电子邮件都包含一个取消订阅链接(在底部)。
要取消订阅:
- 选择取消订阅链接。
- 如果您在浏览器中登录到极狐GitLab,您会立即取消订阅。
- 如果您没有登录,您需要确认操作。
使用邮件客户端或其他软件
当您使用邮件客户端查看来自狐GitLab 的电子邮件时,您可能会看到一个 取消订阅 的按钮。要取消订阅,请点击此按钮。
从极狐GitLab 的通知邮件包含特殊的标头。这些标头允许使用支持的邮件客户端和其他软件自动取消订阅用户。例如:
List-Unsubscribe: <https://gitlab.com/-/sent_notifications/[REDACTED]/unsubscribe>,<mailto:incoming+[REDACTED]-unsubscribe@incoming.gitlab.com>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe
标头有两个条目:
- 一个
POST
请求的链接,用于直接取消订阅用户。发送GET
请求到此链接时,显示确认对话框而不是取消订阅。 - 一个电子邮件地址,用于发送取消订阅电子邮件。该电子邮件的内容被忽略。
可用于过滤电子邮件的电子邮件标头
通知电子邮件消息包括特定的标头。为了更好地管理您的通知,您可以根据这些标头的内容过滤通知电子邮件。
例如,您可以过滤来自特定项目的所有电子邮件,在该项目中您被分配了合并请求或议题。
下表列出了所有特定的电子邮件标头:
Header | 描述 |
---|---|
List-Id
| 项目在 RFC 2919 邮件列表标识符中的路径。您可以将其用于带有过滤器的电子邮件组织。 |
X-GitLab-(Resource)-ID
| 通知所针对的资源的 ID。例如,资源可以是 Issue 、MergeRequest 、Commit 或其他这样的资源。
|
X-GitLab-(Resource)-State
| 该通知所针对的资源的状态。资源可以是 Issue 、MergeRequest 、Commit 或其他这样的资源。值可以是 opened 、closed 、merged 或 locked 。引入于极狐GitLab 16.4。
|
X-GitLab-ConfidentialIssue
| 指示议题机密性的布尔值。引入于 16.0 版本。 |
X-GitLab-Discussion-ID
| 评论所属主题的 ID,在评论通知电子邮件中。 |
X-GitLab-Group-Id
| 群组的 ID。 仅出现在史诗的通知电子邮件中。 |
X-GitLab-Group-Path
| 群组的路径。 仅出现在史诗的通知电子邮件中。 |
X-GitLab-NotificationReason
| 通知的原因,可以是 mentioned , assigned 或者 own_activity .
|
X-GitLab-Pipeline-Id
| 通知所针对的流水线的 ID,在流水线的通知电子邮件中。 |
X-GitLab-Project-Id
| 项目的 ID。 |
X-GitLab-Project-Path
| 项目的路径。 |
X-GitLab-Project
| 通知所属项目的名称。 |
X-GitLab-Reply-Key
| 支持通过电子邮件回复的唯一令牌。 |
X-GitLab-NotificationReason
X-GitLab-NotificationReason
header 包含通知的原因。该值是以下之一,按优先级排序:
own_activity
assigned
review_requested
mentioned
subscribed
通知的原因也包含在通知电子邮件的页脚中。例如,一封带有原因assigned
的电子邮件在页脚中有这句话:
You are receiving this email because you have been assigned an item on <configured GitLab hostname>.
值班告警通知
alert_triggered
alert_acknowledged
alert_resolved
alert_ignored
事件升级通知
incident_triggered
incident_acknowledged
incident_resolved
incident_ignored
故障排查
为通知拉取收件人列表
如果您想从项目中获取通知的收件人列表(主要用于自定义通知的故障排查),在 Rails 控制台中运行 sudo gitlab-rails c
并确保更新项目名称:
project = Project.find_by_full_path '<project_name>'
merge_request = project.merge_requests.find_by(iid: 1)
current_user = User.first
recipients = NotificationRecipients::BuildService.build_recipients(merge_request, current_user, action: "push_to"); recipients.count
recipients.each { |notify| puts notify.user.username }
通知关于失败的流水线,该流水线不存在
如果您没收到了通知(通过邮件或 Slack),通知时关于不再存在的流水线发生的失败,请确保您是否有任何重复的极狐GitLab 实例触发了此消息。
启用了邮件通知,但是未接收到邮件
如果您在极狐GitLab 启用了邮件通知,但是用户没有如期接收到通知,请确保您的邮件提供商未阻止来自您的极狐GitLab 实例的邮件。许多邮件提供商(例如,Outlook)会阻止来自较不知名的自行管理邮件服务器 IP 地址的邮件。为了验证,请尝试从您的实例的 SMTP 服务器直接发送电子邮件。例如,Sendmail 的测试电子邮件可能像这样:
# (echo subject: test; echo) | $(which sendmail) -v -Am -i <valid email address>
如果您的邮件提供商正在阻止消息,您可能会得到类似的输出(取决于您的邮件提供商和 SMTP 服务器):
Diagnostic-Code: smtp; 550 5.7.1 Unfortunately, messages from [xx.xx.xx.xx]
weren't sent. For more information, please go to
http://go.microsoft.com/fwlink/?LinkID=526655 (http://go.microsoft.com/fwlink/?LinkID=526655) AS(900)
通过可以通过添加您 SMTP 服务器的 IP 地址到您的邮件提供商的允许列表来解决此问题。请参阅您的邮件提供商的文档以获取详细信息。