如何使用 Azure DevOps Rest API 获取工作项目的附件详细信息

Saj*_*war 7 azure-devops azure-devops-rest-api

我正在尝试获取我的工作项目的附件列表以及我需要的附件数量、附件名称。附加到我的工作项目。我尝试阅读 Azure DevOps 的文档,我可以看到以下内容

https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/attachments?view=azure-devops-rest-5.0

它具有可用的获取、创建和列出端点。但要获取它,需要提供附件 ID,但该 ID 不可用,因为没有端点返回附件详细信息。

您能否指导我使用哪个 API 端点来获取工作组的附件详细信息。

Sha*_*zyk 10

您应该首先使用Work Items - Get Work Item Rest API 获取工作项详细信息:

GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}
Run Code Online (Sandbox Code Playgroud)

注意:要获取附件详细信息,您需要将其添加到 url 参数中:

$expand=all
Run Code Online (Sandbox Code Playgroud)

现在,在结果中您将获得属性relations,在那里您将找到附件 url,在 url 中您可以找到 id。

例如:

$url = https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/434?$expand=all&api-version=5.0

$workItem = Invoke-RestMethod -Uri $url -Method Get -ContentType application/json

$split = ($workitem.relations.url).Split('/')

$attachmentId = $split[$split.count - 1]

# Result: 1244nhsfs-ff3f-25gg-j64t-fahs23vfs
Run Code Online (Sandbox Code Playgroud)

现在您可以使用附件 api 下载附件。