email-notify.md 11.4 KB
Newer Older
Lab机器人's avatar
Lab机器人 已提交
1
# 电子邮件通知[](#电子邮件通知 "Permalink")
Lab机器人's avatar
Lab机器人 已提交
2

Lab机器人's avatar
Lab机器人 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
GitLab 通知使您可以随时了解 GitLab 中发生的事情. 启用通知后,您可以接收有关问题,合并请求和史诗活动的更新. 通知通过电子邮件发送.

## Receiving notifications[](#receiving-notifications "Permalink")

您将由于以下原因之一收到通知:

*   您参与发行,合并请求或史诗. 在这种情况下, *参与*意味着评论或编辑.
*   You enable notifications in an issue, merge request, or epic. To enable notifications, click the **Notifications** toggle in the sidebar to *on*.

启用通知后,您将收到有关该问题,合并请求或史诗中发生的操作的通知.

**注意:**通知可能会被管理员阻止,从而阻止发送通知.

## Tuning your notifications[](#tuning-your-notifications "Permalink")

通知的数量可能是巨大的. GitLab 允许您调整收到的通知. 例如,您可能希望收到有关特定项目中所有活动的通知,而对于其他项目,仅当您的名字被提及时才得到通知.

您可以通过组合通知设置来调整收到的通知:

*   [Global notification settings](#global-notification-settings)
*   [Notification scope](#notification-scope)
*   [Notification levels](#notification-levels)

### Editing notification settings[](#editing-notification-settings "Permalink")

编辑通知设置:

1.  点击您的个人资料图片,然后选择**设置** .
2.  点击左侧边栏中的**通知** .
3.  编辑所需的通知设置. 编辑的设置将自动保存并启用.

这些通知设置仅适用于您. 它们不会影响同一项目或组中其他任何人收到的通知.

[![notification settings](img/81fe297de1dccaedd3340735454273bc.png)](img/notification_global_settings.png)

## Global notification settings[](#global-notification-settings "Permalink")

**全局通知设置**是默认设置,除非您为项目或组选择不同的值.

*   通知电子邮件
    *   这是您的通知将发送到的电子邮件地址.
*   全局通知级别
    *   这是适用于所有通知的默认[通知级别](#notification-levels) .
*   接收有关您自己的活动的通知.
    *   如果您想接收有关自己活动的通知,请选中此复选框. 默认值:未选中.

### Notification scope[](#notification-scope "Permalink")

您可以通过为每个项目和组选择不同的通知级别来调整通知的范围.

通知范围按优先级顺序应用(从高到低):

*   Project
    *   对于每个项目,您可以选择一个通知级别. 您的项目设置将覆盖组设置.
*   Group
    *   对于每个组,您可以选择一个通知级别. 您的群组设置会覆盖您的默认设置.
*   全局(默认)
    *   如果尚未为发生活动的项目或组选择通知级别,则将应用全局或*默认*通知级别.

#### Project notifications[](#project-notifications "Permalink")

您可以为每个项目选择一个通知级别. 如果您需要密切监视选定项目中的活动,这将很有用.

[![notification settings](img/bab81ba0a915cec8b039166d2defc074.png)](img/notification_project_settings_v12_8.png)

要为项目选择通知级别,请使用以下两种方法之一:

1.  点击您的个人资料图片,然后选择**设置** .
2.  点击左侧边栏中的**通知** .
3.  在" **项目"**部分中找到该项目.
4.  选择所需的[通知级别](#notification-levels) .

Or:

1.  导航到项目页面.
2.  单击带有下拉图标的通知下拉列表.
3.  选择所需的[通知级别](#notification-levels) .

有关如何在有新版本发布时通知的演示,请参阅[发布通知](https://www.youtube.com/watch?v=qyeNkGgqmH4) .

#### Group notifications[](#group-notifications "Permalink")

您可以为每个组选择通知级别和电子邮件地址.

[![notification settings](img/c39dc466882289b42ad827dbbc05b39f.png)](img/notification_group_settings_v12_8.png)

##### Group notification level[](#group-notification-level "Permalink")

要为组选择通知级别,请使用以下两种方法之一:

1.  点击您的个人资料图片,然后选择**设置** .
2.  点击左侧边栏中的**通知** .
3.  在" **组"**部分中找到该项目.
4.  选择所需的[通知级别](#notification-levels) .

* * *

1.  导航到组的页面.
2.  单击带有下拉图标的通知下拉列表.
3.  选择所需的[通知级别](#notification-levels) .

##### Group notification email address[](#group-notification-email-address "Permalink")

在 GitLab 12.0 中引入

您可以选择一个电子邮件地址,以接收您所属的每个组的通知. 例如,如果您是自由职业者,并且希望将有关客户项目的电子邮件分开存放,这可能会很有用.

1.  点击您的个人资料图片,然后选择**设置** .
2.  点击左侧边栏中的**通知** .
3.  在" **组"**部分中找到该项目.
4.  选择所需的电子邮件地址.

### Notification levels[](#notification-levels "Permalink")

对于每个项目和组,您可以选择以下级别之一:

| Level | Description |
| --- | --- |
| Global | 您的全局设置适用. |
| Watch | 接收任何活动的通知. |
| 提一下 | `@mentioned`在评论中`@mentioned`接收通知. |
| Participate | 接收有关您参与的线程的通知. |
| Disabled | 关闭通知. |
| Custom | 接收有关自定义选定事件的通知. |

## Notification events[](#notification-events "Permalink")

将通知用户以下事件:

| Event | 发给 | 设定等级 |
| --- | --- | --- |
| 添加了新的 SSH 密钥 | User | 安全电子邮件,始终发送. |
| 添加了新电子邮件 | User | 安全电子邮件,始终发送. |
| 电邮已变更 | User | 安全电子邮件,始终发送. |
| 密码已更改 | User | 安全电子邮件,始终发送. |
| 新用户创建 | User | 在创建用户时发送,但 OmniAuth(LDAP)除外 |
| 用户已添加到项目 | User | 将用户添加到项目时发送 |
| 项目访问权限级别已更改 | User | 更改用户项目访问级别时发送 |
| 用户已添加到组 | User | 将用户添加到组时发送 |
| 群组访问权限级别已更改 | User | 更改用户组访问级别时发送 |
| 项目已移 | 项目成员(1) | (1)不禁用 |
| 新品发布 | 项目成员 | 自定义通知 |

## Issue / Epics / Merge request events[](#issue--epics--merge-request-events "Permalink")

在以下大多数情况下,通知将发送到:

*   Participants:
    *   发行/合并请求的作者和受让人
    *   关于问题/合并请求的评论的作者
    *   `@username`在问题,合并请求或史诗的标题或描述中提到的任何人
    *   `@username`在有关问题,合并请求或史诗的任何评论中提及的"参与"或更高通知级别的任何人
*   观察者:通知级别为"观察"的用户
*   订阅者:手动订阅问题,合并请求或史诗的任何人
*   自定义:通知级别为"自定义"的用户针对下表中显示的任何事件打开了通知

**注意:**为了最大程度地减少不需要任何操作的通知的数量,从[GitLab 12.9 起](https://gitlab.com/gitlab-org/gitlab/-/issues/616) ,不再为项目中的所有活动通知合格的批准者. 要接收它们,他们必须将其用户通知设置更改为" **观看"** .

| Event | 发给 |
| --- | --- |
| 新问题 |   |
| 结束期 |   |
| 重新分配问题 | 以上,加上旧的受让人 |
| 重新打开问题 |   |
| 到期问题 | 选择此事件的参与者和自定义通知级别 |
| 更改里程碑问题 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 消除里程碑问题 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 新合并请求 |   |
| 推送合并请求 | 选择此事件的参与者和自定义通知级别 |
| 重新分配合并请求 | 以上,加上旧的受让人 |
| 关闭合并请求 |   |
| 重新打开合并请求 |   |
| 合并合并请求 |   |
| 更改里程碑合并请求 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 删除里程碑合并请求 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 新评论 | 以上内容,加上评论中`@username`提及的任何人,通知级别为"提及"或更高 |
| 管道失败 | 管道的作者 |
| 固定管道 | 管道的作者. 默认启用. 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/24309) . 管理员可以使用`ci_pipeline_fixed_notifications` [功能标记](../../administration/feature_flags.html)禁用此通知选项. |
| 成功的管道 | 管道的作者(如果他们具有成功管道的自定义通知设置). 如果管道先前失败,则将为失败后的第一个成功管道发送`Fixed pipeline`消息,然后为任何进一步成功的管道发送`Successful pipeline`消息. |
| 新史诗 |   |
| 接近史诗 |   |
| 重新开启史诗 |   |

此外,如果发布或合并请求的标题或描述发生了更改,则通知将通过`@username`发送到任何**新**提及的内容,就像在原始文本中提到的一样.

您不会收到有关您自己创建的问题,合并请求或里程碑的通知(除非由于问题而定). 仅当其他人对您创建或提及的内容进行评论或添加更改时,您才会收到自动通知.

如果开放的合并请求由于冲突而变得不可合并,则将通知其原因. 如果用户还将合并请求设置为一旦管道成功就自动合并,则该用户也会收到通知.

## Filtering email[](#filtering-email "Permalink")

通知电子邮件包括特定于 GitLab 的标题. 您可以根据这些标头的内容过滤通知电子邮件,以更好地管理您的通知. 例如,您可以过滤特定项目的所有电子邮件,在该项目中您将被分配合并请求或问题.

下表列出了所有特定于 GitLab 的电子邮件标题:

| Header | Description |
| --- | --- |
| `X-GitLab-Group-Id` | 组的 ID. 仅在史诗的通知电子邮件中显示. |
| `X-GitLab-Group-Path` | 组的路径. 仅在史诗的通知电子邮件中显示. |
| `X-GitLab-Project` | 通知所属的项目的名称. |
| `X-GitLab-Project-Id` | 项目的 ID. |
| `X-GitLab-Project-Path` | 项目的路径. |
| `X-GitLab-(Resource)-ID` | 通知所针对的资源的 ID. 该资源例如可以是`Issue``MergeRequest``Commit`或其他此类资源. |
| `X-GitLab-Discussion-ID` | 注释所属的线程的 ID,用于注释的通知电子邮件中. |
| `X-GitLab-Pipeline-Id` | 通知所针对的管道的 ID,在管道的通知电子邮件中. |
| `X-GitLab-Reply-Key` | 支持通过电子邮件回复的唯一令牌. |
| `X-GitLab-NotificationReason` | 通知原因. 可以`mentioned``assigned``own_activity` . |
| `List-Id` | The path of the project in an RFC 2919 mailing list identifier. This is useful for email organization with filters, for example. |

### X-GitLab-NotificationReason[](#x-gitlab-notificationreason "Permalink")

`X-GitLab-NotificationReason`标头包含`X-GitLab-NotificationReason`的原因. 该值是按优先级顺序的以下值之一:

*   `own_activity`
*   `assigned`
*   `mentioned`

通知的原因也包含在通知电子邮件的页脚中. 例如有原因的电子邮件`assigned`都会有这句话的注脚:

*   `You are receiving this email because you have been assigned an item on <configured GitLab hostname>.`

**注意:**正在考虑将其他事件的通知包含在`X-GitLab-NotificationReason`标头中. 有关详细信息,请参见此[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/20689) .