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

如何通过Azure DevOps REST API删除工作项附件?有无替代方案?

删除Azure DevOps工作项附件的可行方案

官方支持的替代方式:通过工作项更新API移除附件

Azure DevOps暂未提供直接删除工作项附件的REST API,但可通过工作项更新API间接实现,核心逻辑是修改工作项的System.AttachedFiles字段,移除目标附件的引用:

  1. 获取工作项当前附件列表
    调用工作项详情API,提取System.AttachedFiles字段内容,该字段存储所有附件的ID与名称,格式示例:

    [
      {
        "id": 123,
        "name": "document.pdf"
      },
      {
        "id": 456,
        "name": "screenshot.png"
      }
    ]
    
  2. 构造更新请求体
    删除目标附件的条目后,构造JSON Patch格式的请求体,使用replace操作更新System.AttachedFiles字段:

    [
      {
        "op": "replace",
        "path": "/fields/System.AttachedFiles",
        "value": [
          {
            "id": 123,
            "name": "document.pdf"
          }
        ]
      }
    ]
    
  3. 发送更新请求
    以PATCH方法调用工作项更新API,路径格式如下:

    https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{workItemId}?api-version=7.0
    

    请求头需包含Content-Type: application/json-patch+json,并附带有效的身份验证令牌。执行后,Azure DevOps会自动清理后台存储的对应附件文件。

未公开的内部API(不推荐生产环境使用)

通过抓包Azure DevOps网页端操作,可发现一个内部DELETE API可直接删除附件,路径格式大致为:

https://dev.azure.com/{organization}/{project}/_apis/wit/attachments/{attachmentId}?api-version=7.0

但该API未得到官方正式支持,存在随时变更或被禁用的风险,稳定性无保障,不建议用于生产系统。

注意事项

  • 操作前建议备份工作项数据,避免误删重要内容;
  • 官方更新API的方式是合规且长期稳定的优先选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:04:59