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

如何在Azure Devops Release触发异常时动态清除VSTS日志

Azure DevOps Release 动态清除VSTS日志方案

默认没有内置的一键自动清除特定发布日志的功能,但可以通过以下两种自定义方案实现满足预设条件时的动态日志清理

方案1:结合REST API与管道任务实现实时触发清理

  • 首先在发布管道中新增一个独立代理作业,将作业运行条件配置为「仅当上一个作业失败时」,也可以根据你预设的其他异常条件自定义触发规则
  • 在该作业中添加PowerShell/Shell脚本任务,调用Azure DevOps官方接口完成日志删除,核心操作逻辑如下:
    1. 直接读取管道内置变量获取当前发布运行的必要参数:项目名对应$(System.TeamProject),发布ID对应$(Release.ReleaseId),组织ID对应$(System.CollectionId)
    2. 调用发布日志删除接口完成操作,鉴权直接使用管道内置的$(System.AccessToken)即可,注意要提前给当前管道的服务账号开放「发布管理」的编辑权限
      参考PowerShell脚本示例:
    $headers = @{
      Authorization = "Bearer $(System.AccessToken)"
    }
    $deleteUrl = "https://dev.azure.com/$(System.CollectionId)/$(System.TeamProject)/_apis/release/releases/$(Release.ReleaseId)/logs?api-version=7.1-preview.2"
    Invoke-RestMethod -Uri $deleteUrl -Method Delete -Headers $headers
    

方案2:配置自定义保留策略实现自动清理

  • 如果不需要异常触发时实时删除,可以直接配置发布保留策略,设置失败/异常状态的发布的保留时长,超过阈值后系统会自动清理对应发布的日志和相关记录
  • 配置入口:项目设置 -> 管道 -> 设置 -> 保留策略,按需添加对应规则即可

注意:日志删除操作不可恢复,建议先在非生产测试管道验证逻辑符合预期后再上线,避免误删正常运行的日志记录。

内容的提问来源于stack exchange,提问作者Preethi Anantharaman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 17:36:04