使用REST API 向Azure DevOps 的workItem中上传文件

概要

1.首先要将文件上传到Azure DevOps的服务器上,会返回文件的id和url
文件上传官方api文档:
https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/attachments/create?view=azure-devops-rest-6.0
2.然后需要将文件的url和workItem关联起来,只需调用workItem的更新或者创建的api,在requestBody中加入文件的url
https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/attachments/create?view=azure-devops-rest-6.0
JSON格式:

  [
      {
        "op": "add",
        "path": "/relations/-",
        "value": {
          "rel": "AttachedFile",
          "url": "上传返回的文件的url",
          "attributes": {
            "comment": "任意"
            "name":"文件名"
          }
        }
      }
   ]

在Postman上进行一次简单的尝试
1.首先上传文件到服务器
请求方式:POST
URL:https://dev.azure.com/{organization}/{project}/_apis/wit/attachments?api-version=6.0
(URL要到具体的Project)
在这里插入图片描述
认证:Basic Auth 使用私人token,如何创建token参考:
https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows
在这里插入图片描述
Headers:
Content-Type:application/octet-stream
Accept:application/json
RequestBody:
文件内容的二进制字符
在这里插入图片描述
返回了文件的id和url 状态码201
在这里插入图片描述
2.第二部更新到workItem上
https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/update?view=azure-devops-rest-6.0
请求方式:PATCH
URL:https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=6.0
需要指定具体的workItem id
Headers:
Content-Type:application/json-patch+json
Accept:application/json
RequestBody:

   [
      {
        "op": "add",
        "path": "/relations/-",
        "value": {
          "rel": "AttachedFile",
          "url": "第一步上传时返回的Url",
          "attributes": {
            "comment": "添加文件",
            "name":"文件名"
          }
        }
      }
   ]

在这里插入图片描述

返回状态码200和对应的workItem的信息
在这里插入图片描述

打开对应的workItem,文件添加成功
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值