如何在TFS2018中调用sendmail API?工作项修改如何发邮件?
TFS2018调用Sendmail API及工作项修改邮件通知问题
1. TFS2018能否调用API版本7.0的Sendmail API?
不能。TFS2018对应的最高API版本为3.2(对应TFS2018 Update 3),而7.0版本的Sendmail API仅在Azure DevOps Server 2022及以上版本中支持,版本不匹配导致无法直接调用,强行请求会返回版本不兼容的错误。
2. 无法调用7.0版本API的变通方案
- 使用TFS2018原生支持的3.2版本Sendmail API:该版本API可满足基础邮件发送需求,调用格式为
POST _apis/sendmail?api-version=3.2,请求体参数需适配旧版规范,比如收件人、主题、正文的字段格式要对应3.2版本的要求。 - 直接调用SMTP服务器:绕过TFS API,通过自定义脚本(如PowerShell、Python)直接连接企业SMTP服务发送邮件,脚本可通过TFS的构建/发布任务或定时触发器执行。
3. 工作项修改时发送邮件的实现方式
TFS2018内置服务挂钩没有专门的“工作项修改触发邮件”事件,可通过以下两种方式实现:
- 工作项规则+API调用:在工作项的状态转换或字段变更规则中,添加触发自定义脚本的动作,脚本调用3.2版本Sendmail API发送通知邮件。需确保TFS允许脚本执行,且脚本拥有调用API的权限。
- 安装第三方扩展:在TFS Marketplace中查找支持工作项事件的邮件通知扩展,这类扩展通常可直接安装到TFS2018,配置后即可监听工作项修改事件并发送自定义邮件。
内容的提问来源于stack exchange,提问作者AoooR
相关产品推荐
相关产品推荐

