每日发送Azure DevOps近24小时更新工作项的汇总邮件
实现Azure DevOps工作项每日变更汇总邮件方案
针对你需要的每日汇总工作项变更(含评论、字段修改等)并发送单封邮件的需求,以下是几种可行的实现方案:
方案一:用Power Automate(微软流)构建自动汇总流程
- 定时触发:创建一个基于「Recurrence」的流程,设置为每日固定时间执行(比如凌晨1点)
- 获取变更工作项:添加「Azure DevOps - Get changed work items」动作,配置组织、项目,筛选条件设为「Changed Date」在过去24小时内,指定需要监控的工作项类型
- 提取变更详情:遍历每个返回的工作项,调用「Azure DevOps - Get work item updates」动作,获取该工作项的所有变更记录,从中解析出:
- 字段变更:比如状态、分配人、截止日期的新旧值
- 新增评论:提取评论内容和评论人信息
- 整理邮件内容:将所有工作项的变更信息整理为结构化格式(如分条列表或表格),包含工作项ID、标题、变更类型、具体内容
- 发送汇总邮件:添加「Send an email (V2)」动作,将整理好的内容插入邮件正文,发送给目标收件人组
方案二:自定义脚本+定时任务
- 调用REST API获取数据:
- 先通过查询API获取过去24小时变更的工作项ID列表:
GET https://dev.azure.com/{org}/{proj}/_apis/wit/wiql?api-version=7.1-preview.2,WIQL查询语句示例:SELECT [System.Id] FROM WorkItems WHERE [System.ChangedDate] >= @today - 1 - 对每个工作项ID,调用更新记录API获取详情:
GET https://dev.azure.com/{org}/{proj}/_apis/wit/workitems/{id}/updates?api-version=7.1-preview.3
- 先通过查询API获取过去24小时变更的工作项ID列表:
- 解析处理数据:从返回的JSON中提取字段变更(
fields节点下的oldValue和newValue)、新增评论(comments节点),过滤掉不需要的变更类型 - 生成并发送邮件:将处理后的内容格式化为HTML或纯文本,使用SMTP协议(如Office 365 SMTP)发送邮件
- 定时执行:用Windows任务计划、Linux Cron或Azure Functions设置每日定时运行脚本
方案三:使用Azure DevOps Marketplace扩展
在Azure DevOps Marketplace中搜索支持工作项变更每日汇总的扩展,这类工具通常提供可视化配置界面,只需完成以下配置即可:
- 设置每日邮件发送时间
- 指定需要监控的变更类型(评论、状态、分配人等)
- 配置收件人列表
- 选择需要监控的项目和工作项类型
注意事项
- 权限配置:确保用于执行流程/调用API的账号拥有项目的「读取工作项」和「查看工作项更新」权限
- 筛选规则:配置时可精准指定需要监控的字段(如描述、工作量、截止日期),避免无关变更混入邮件
- 格式优化:建议用表格或分点列表展示变更内容,提升邮件可读性
内容的提问来源于stack exchange,提问作者GODEFFO
相关产品推荐
相关产品推荐

