概要
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,文件添加成功