You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSTS的CD流水线中部署后触发自定义消息邮件通知?有无内置功能?

在Azure DevOps(原VSTS)CD流水线中实现部署后的自定义邮件通知

我来帮你解答这两个问题,毕竟在Azure DevOps里配置部署通知是日常操作了:

关于VSTS内部邮件功能的说明

首先明确:Azure DevOps(原VSTS)本身自带无需SMTP的内置通知机制,完全不需要依赖谷歌这类第三方SMTP服务器就能发送邮件通知。另外,如果你用Office 365,还有官方提供的邮件任务可以实现更灵活的自定义,也是内部支持的方案。

方法一:使用内置通知订阅(快速实现基础自定义)

这是最省心的方式,几步就能搞定部署成功后的邮件通知:

  • 打开你的Azure DevOps项目,点击顶部导航栏的「通知」图标(铃铛形状),选择「管理通知」。
  • 在通知管理页面,点击「新建订阅」。
  • 在「选择事件」下拉框中,找到「部署」分类下的**「部署完成」**事件。
  • 配置触发条件:
    • 选择你目标的CD流水线
    • 设置状态为**「成功」**(确保只有部署成功时触发)
    • 可选:指定特定的部署环境(比如只通知生产环境的部署)
  • 自定义通知内容:
    • 邮件主题可以用系统变量动态生成,比如:部署成功通知:${pipeline.name}(${deployment.environment.name}环境)
    • 邮件内容同样可以插入变量,比如:

      流水线${pipeline.name}已成功部署到${deployment.environment.name}环境。部署完成时间:${deployment.finishTime}。点击查看详情:${deployment.url}

  • 指定接收者:选择要通知的开发者团队、个人邮箱,保存订阅即可。

方法二:使用Office 365 Send Email任务(灵活自定义内容)

如果内置通知的自定义程度满足不了你(比如需要HTML格式、附件或更复杂的逻辑),且你的团队使用Office 365,推荐用这个官方任务:

  • 在CD流水线的部署阶段末尾,添加一个任务,搜索「Office 365 Send Email」并添加到流水线中。
  • 配置Office 365服务连接:如果还没有,点击「新建」,按照提示授权Azure DevOps访问你的Office 365账户即可(这是官方安全授权,无需手动配置SMTP)。
  • 填写邮件详情:
    • 收件人:填写开发者的邮箱或团队组地址
    • 主题:自定义动态主题,比如[部署成功] ${Build.DefinitionName} 已上线 ${Release.EnvironmentName} 环境
    • 邮件内容:支持HTML格式,插入流水线变量丰富内容,比如:
      <p>各位开发者好:</p>
      <p>流水线 <strong>${Build.DefinitionName}</strong> 已成功部署到 <strong>${Release.EnvironmentName}</strong> 环境。</p>
      <p>部署触发时间:${Release.CreatedOn}</p>
      <p>查看完整部署日志:<a href="${Release.ReleaseUri}">点击跳转</a></p>
      
  • 配置任务运行条件:在任务的「控制选项」里,设置「运行此任务」为**「只有当所有先前任务成功时」**,确保只有部署成功才发邮件。

补充:如果一定要用「Send Email」任务

如果因为某些原因必须使用这个任务,那确实需要配置第三方SMTP服务器(比如谷歌SMTP、企业内部邮箱SMTP),Azure DevOps没有内置的SMTP服务供这个任务使用。但还是更推荐前面两种官方方案,不用自己维护SMTP的配置和权限。

内容的提问来源于stack exchange,提问作者vignesh srinivasan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:29:35