如何批量删除Azure Pipeline中stages为canceled或failed的Runs
Azure Pipeline 批量删除指定状态运行记录方案
Azure DevOps 网页端默认仅提供单条运行记录的删除入口,没有内置的可视化批量删除选项,你可以通过以下两种方式实现批量清理:
方案1:通过Azure DevOps CLI批量删除(可精准筛选状态,即时生效)
这是最直接的清理历史指定状态运行的方式,操作步骤如下:
- 前置依赖:本地已安装Azure CLI,执行以下命令安装Azure DevOps扩展:
az extension add --name azure-devops
- 登录你的Azure DevOps组织,执行命令后按提示输入拥有Build读写权限的个人访问令牌(PAT):
az devops login --organization https://dev.azure.com/替换为你的组织名
- 先执行查询命令,核对要删除的运行记录ID,避免误删,将命令中的
替换为你的PipelineID换成目标管道的ID(可在管道页面URL中找到):
az pipelines runs list --pipeline-ids 替换为你的PipelineID --status failed,canceled --query "[].id" -o tsv
- 确认返回的ID列表无误后,执行批量删除命令:
- macOS/Linux 环境执行:
az pipelines runs list --pipeline-ids 替换为你的PipelineID --status failed,canceled --query "[].id" -o tsv | xargs -I {} az pipelines runs delete --id {} --yes- Windows PowerShell 环境执行:
az pipelines runs list --pipeline-ids 替换为你的PipelineID --status failed,canceled --query "[].id" -o tsv | ForEach-Object { az pipelines runs delete --id $_ --yes }
方案2:配置保留策略自动清理(适合长期运维,无需手动操作)
如果不需要立刻清理历史记录,可以通过配置管道保留规则让系统自动清理无效运行:
- 进入目标Pipeline页面,点击右上角「编辑」进入编辑页
- 找到「保留」设置项,调整失败、已取消运行的保留时长为最短可选项
- 配置生效后,超过保留期限的failed、canceled状态运行会被系统自动批量删除,后续新产生的无效运行也会按规则自动清理,无需手动处理
注意:运行记录删除后不可恢复,执行删除操作前务必先核对查询到的待删除运行列表,避免误删需要留存的成功运行记录。
内容的提问来源于stack exchange,提问作者Vaish
相关产品推荐
相关产品推荐

