如何恢复Azure DevOps (VSTS)中误删的Task Group?
恢复Azure DevOps中已删除的Task Group
好消息是,虽然Azure DevOps的UI界面没有提供直接恢复已删除Task Group的入口,但我们有两种可靠的方法来解决这个问题:
方法一:使用Azure DevOps REST API恢复
这是最直接的方式,只要你的Task Group还在回收站保留期内(通常是30天),就能通过API找回:
获取已删除Task Group的详细信息
调用以下API列出项目中所有已删除的Task Group,从中找到你需要恢复的那一个的id和revision值:az rest --method get --uri "https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/distributedtask/taskgroups?deleted=true&api-version=7.1-preview.1"你也可以用Postman等工具发送GET请求,响应结果里
isDeleted为true的就是已删除的Task Group,记下它的id和revision字段。发送恢复请求
用刚才拿到的taskGroupId和revision,发送PATCH请求将isDeleted设为false:az rest --method patch --uri "https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/distributedtask/taskgroups/{taskGroupId}?api-version=7.1-preview.1" --body '{"isDeleted": false, "revision": {刚才获取的revision值}}'注意:
revision必须是当前最新的版本号,否则请求会失败,这是Azure DevOps的乐观并发控制机制。
方法二:通过导入备份恢复
如果你之前导出过这个Task Group的JSON文件(比如在删除前做过备份),那恢复起来更简单:
- 打开Azure DevOps项目的Pipelines页面,进入Task groups选项卡
- 点击页面上方的Import task group按钮
- 选择你之前导出的Task Group JSON文件,按照提示完成导入即可
补充说明
目前Azure DevOps的官方文档确实没有明确提及Task Group的恢复操作,因为UI层面没有这个功能,但REST API是支持的。如果超过了回收站保留期(一般30天),那可能就无法通过API恢复了,这时候如果有备份的JSON文件就成了关键。
内容的提问来源于stack exchange,提问作者colka
相关产品推荐
相关产品推荐

