首页 > 解决方案 > 如何使用 Azure devops Rest Api 获取最新标签?

问题描述

我想恢复 azure devops 中的最新标签,因为我正在使用这个 Uri:

https://dev.azure.com/{organization}/_apis/git/repositories/{repositoryId}/refs?filter=tags/&api-version=5.1

这将返回所有标签。如果我设置 $top=1 参数,它会返回找到的第一个标签,它是最旧的。

所以问题是;

有什么办法可以得到最新的吗?还是我必须下载所有内容并手动获取最后一个?

还有其他方法可以检索标签吗?

在 PowerShell 中使用我的工作进行编辑(我接受建议):

$uriGetTags = 'https://dev.azure.com/{organization}/_apis/git/repositories/{repositoryId}/refs?filter=tags/&api-version=5.1'
$tags = Invoke-WebRequest -Uri $uriGetTags -Headers $Headers | ConvertFrom-Json 

#I Only wants the last element (the newest)
$tag = $tags.value.Get($tags.count-1)

标签: azure-devops

解决方案


据我所知,目前还没有开箱即用的 rest api 可以直接获取最新的标签。返回的标签按最旧的排序。即使在 UI 中的标签管理中,它也按最旧的排序在顶部。并且没有这样的参数来获取最新的。

作为一种解决方法,您可以编写一个 powershell 脚本来遍历这些返回的结果,然后将最后一个结果写入主机。


推荐阅读