我能够使用下面的请求成功创建带注释的标签(git 标签),但我无法以编程方式删除它。
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/annotatedtags?api-version=4.1-preview.1
要求:
{
"name": "wagner-test-3",
"message": "wagner-test-3",
"taggedObject": {
"objectId": "aaaaab6cad84a07b7bd65cf3519142a12f856baa"
}
}
根据documentation没有删除端点,所以我尝试了 delete ref endpoint但到目前为止还没有运气。它只返回 400(无效请求)。
DELETE https://dev.azure.com/{organization}/{project}/_apis/git/favorites/refs/{favoriteId}?api-version=4.1-preview.1
回复:
{
"count": 1,
"value": {
"Message": "The request is invalid."
}
}
谢谢。
最佳答案
我能够弄清楚我自己的问题。删除带注释的标签的方法是使用 Refs API 更新它。但这并没有得到很好的记录。
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=4.1
要求:
[
{
"name": "refs/tags/wagner-test-3",
"newObjectId": "0000000000000000000000000000000000000000",
"oldObjectId": "aaaaab6cad84a07b7bd65cf3519142a12f856baa"
}
]
Azure DevOps 文档:
Refs - Update Refs
创建、更新或 删除 引用文献(分支)。
关于azure-devops - 如何在 VSTS API 中删除带注释的标签(git 标签)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53242495/