确定通知电子邮件的收件人

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

许多因素决定了事件与订阅匹配时电子邮件通知的收件人。 如果你不知道,这些因素可能会导致收件箱收到过多或太少的电子邮件。 了解订阅的类型、其传递设置、传递首选项以及其他因素如何确定收件人集。

注释

本文中介绍的许多概念适用于早期版本的 Azure DevOps,尽管用户界面发生了更改。

自定义个人订阅

使用自定义个人订阅时,电子邮件将传递到拥有订阅的用户 的首选电子邮件地址 ,或发送到订阅上配置的电子邮件地址。

注释

对于本地 Azure DevOps Server,请配置 SMTP 服务器,以便团队成员可以从其组织或用户配置文件菜单中查看“通知”选项并接收通知。

个人订阅上的首选电子邮件地址(默认)

显示如何为个人订阅配置首选电子邮件地址的屏幕截图。

个人订阅上的自定义电子邮件地址

显示如何为个人订阅配置自定义电子邮件地址的屏幕截图。

团队和群组的发送设置

当团队或组是通知的收件人时,传递设置控制默认传递行为。 每个订阅都配置有一个传递选项,用于查看收件人的传递设置。

可以在团队级别或组织级别管理订阅和传递设置。

组织级别设置

组织设置中,选择 全局通知>订阅者><团队>>交付设置

显示如何为组织配置团队交付设置的屏幕截图。

从以下设置中进行选择:

  • 传递到电子邮件地址:通知将传递到特定电子邮件地址。
  • 传递到单个成员:通知将传递到组或团队的每个成员。 此设置通常是默认选项。 有关详细信息,请参阅 团队扩展
  • 不传递:默认情况下不会传递通知。

团队传递设置对话框的屏幕截图,其中显示了已选择的“传送到单个成员”选项。

如果未显式选择团队或小组的发送设置,则设置将由组织级别设置的发送选项决定。 默认值为 “传递到单个成员 ”或 “不传送”。

小窍门

传递设置对话框不指示当前选择是显式设置还是继承。

自定义团队和群组订阅的收件人

自定义团队或组订阅的收件人由订阅确定。 对于某些送达选项,团队的默认送达设置用于确定收件人集。

显示如何为自定义团队或组订阅配置电子邮件传递选项的屏幕截图。

以下交付选项适用于组或团队订阅:

  • 按角色划分的团队成员:收件人是具有所选角色之一的团队或组的成员(例如工作项被分配者)。
  • 团队首选项:收件人由团队或组的传递设置确定(不送达首选电子邮件地址团队成员)。
  • 自定义电子邮件地址:收件人是指定的电子邮件地址。
  • 团队成员:收件人是团队或组的所有成员,但选择退出订阅的成员除外。
  • SOAP:与 API 管理类似,收件人通过将电子邮件地址(订阅)添加到 SOAP 服务来指定。

注释

遵守每个成员的默认传递设置,包括属于团队或组成员的组。

按角色组成的团队成员

电子邮件收件人列表由事件中具有角色的成员确定。 例如,分配工作项的用户具有 分配给(新) 的角色,而分配工作项的标识具有 分配给(上一个)的角色。 每个事件类型的角色的完整列表显示在 受支持的事件类型中。

显示电子邮件团队传递选项角色的屏幕截图。

对于大多数事件类型显示的 Skip 发起者 选项,控制是否应明确从收件人列表中排除启动事件的用户或群组。 一般情况下,应启用此选项(打开),因为大多数用户不想收到有关其自己的作的通知。

团队首选项

传递选项取自团队的交付设置,可以是以下选项之一:

  • 传递到电子邮件地址:电子邮件将传递到团队的首选电子邮件地址。
  • 传送至单个成员:过程已在以下部分“team_成员”中进行了描述。
  • 不送达:未送达任何电子邮件。

显示电子邮件团队传递选项首选项的屏幕截图。

团队的送达设置值显示在 地址 标签之后,无法更改。

自定义电子邮件地址

通知将发送到多个自定义电子邮件地址,这些地址由分号分隔。

显示自定义电子邮件团队传递选项的屏幕截图。

团队成员

为了确定电子邮件收件人,团队或组的成员列表将被扩展。 在简单情况下,团队或组将扩展到个人列表,并且每个用户都包含在生成的电子邮件的 “To:”行中。 但是,扩展的结果可能很复杂,并在 团队和组扩展 部分更详细地解释。

显示电子邮件传递团队名称的屏幕截图。

默认订阅收件人

默认订阅的交付选项通常是一个或多个角色。 无法更改这些值。 角色和 Skip 发起者 选项因事件类型而异。 有关详细信息和可用于每个事件类型的角色列表,请参阅 支持的事件类型

显示默认订阅收件人的屏幕截图。

注释

跳过启动选项不适用于所有事件类型。

电子邮件收件人的团队和组的扩展

当团队或组收到通知,而订阅或传送偏好是针对所有成员时,团队必须进行“展开”以确定具体的电子邮件收件人列表。 此过程可能是递归的,最初从查看团队的直接成员开始。

对于最终收件人列表,仅考虑 选择退出订阅的成员。 任何作为个人用户的成员都会被添加到收件人列表中。

对于项目范围内的事件,Azure DevOps检查团队或组是否具有“查看项目级信息”权限。 如果将此权限设置为“拒绝”,Azure DevOps从收件人列表中筛选团队或组,并且不会评估其嵌套成员。 特定于资源的权限不会替换此项目级通知检查。 例如,将视图项目级信息设置为“允许”后,即使视图生成设置为“拒绝”的特定管道,组也可以接收生成完成通知。

仅保留 Azure DevOps Services 组。 对于每个组,将检查组的投递偏好:

  • 不提供:不会对此组执行进一步评估,并评估下一个成员组。
  • 传递到电子邮件地址:电子邮件地址将添加到最终收件人列表中。
  • 向单个成员发送:该组会被展开(像其父组一样),并遵循相同规则来评估其成员。

情境

本部分探讨几个示例方案。 以下示例使用符号来表示团队成员的类型:

  • I:单个用户
  • T:嵌套团队或小组
  • E:启用邮件Microsoft Entra组

团队成员启用“不交付”设置

示例团队成员:

  • 主团队有三个成员:用户 I1I2嵌套团队 T1
  • 团队 T1 已启用 “不交付 ”设置。

仅用户 I1I2 接收其首选联系人电子邮件地址的通知消息。 不会通知嵌套团队 T1 的成员。

团队成员启用“传递到单个成员”设置

示例团队成员:

  • 主团队有三个成员:用户 I1I2嵌套团队 T1
  • 团队 T1 有两个成员用户, I2 以及 I3
  • 用户 I2 是主要团队和团队 T1的成员。
  • 团队 T1 已启用“ 交付给单个成员 ”设置。

团队 T1 正在扩展以便识别其成员。 I1I2I3都在他们的首选联系人电子邮件地址接收通知消息。

团队含有嵌套小组

示例团队成员:

  • 主团队有三个成员:用户 I1I2嵌套团队 T1
  • 团队 T1 有三个成员:用户 I2I3嵌套团队 T2
  • 团队 T2 有两个成员用户, I4 以及 I5
  • 用户 I2 是主要团队和团队 T1的成员。
  • 团队 T1 已启用 “不交付 ”设置。
  • 团队 T2 已启用“ 交付给单个成员 ”设置。

由于团队T1 启用了“不交付”设置,团队不会被展开以标识其成员。 虽然团队 T2 已启用“ 交付给个人成员 ”设置,但团队 T2 嵌套在团队 T1中。 “不传递”配送偏好优先于T1成员制定的设置。 仅用户 I1I2 接收其首选联系人电子邮件地址的通知消息。

已启用邮件Microsoft Entra组作为收件人

Azure DevOps处理启用邮件Microsoft Entra组的方式有所不同,具体取决于通知订阅是直接处理组,还是通过Azure DevOps团队或组访问组:

  • 直接收件人:为启用邮件的Microsoft Entra组直接配置订阅时,Azure DevOps将通知发送到组的电子邮件地址。 Azure DevOps不会展开组或评估每个成员Azure DevOps权限。
  • 嵌套收件人:启用邮件的Microsoft Entra组是Azure DevOps团队或组的成员时,Azure DevOps首先评估父团队或组的传递设置和查看项目级信息权限。 如果此权限设置为“拒绝”,则Azure DevOps筛选父级,并且不会将嵌套Microsoft Entra组添加到收件人列表中。

当启用邮件Microsoft Entra组也是Azure DevOps组的成员时,生成完成通知的预期结果如下:

Subscriber 权限配置 预期结果
Azure DevOps 组 查看项目级信息是Azure DevOps组的拒绝 筛选Azure DevOps组,因此嵌套Microsoft Entra组不会收到通知。
已启用邮件Microsoft Entra组 查看项目级信息是包含Microsoft Entra组的Azure DevOps组的拒绝 Microsoft Entra组接收通知,因为订阅直接解决了通知。 父Azure DevOps组的权限不适用于此订阅。
Azure DevOps 组 查看项目级信息“允许”,但 “查看生成 ”是 “拒绝 ”的特定管道。 Azure DevOps组接收通知。 管道特定的拒绝在通过项目级通知检查后不会筛选组。

若要确保传递,请使用以下配置之一:

  • 将Microsoft Entra组嵌套,并将“查看项目级信息”设置为“允许父Azure DevOps团队或组”。
  • Azure DevOps应将通知直接发送到组地址时,将启用邮件Microsoft Entra组配置为直接收件人。

在配置直接传递之前,请确认已启用邮件Microsoft Entra组的所有成员都有权接收事件详细信息。 Azure DevOps将消息发送到组地址,而无需验证每个成员对Azure DevOps资源的访问权限。