У меня есть azure devops git Репо
Если я перехожу к своим репам >> Теги, я вижу целую кучу перечисленных тегов
Я генерирую теги следующим образом
$rn= $env:BUILD_BUILDNUMBER
$sv = $env:BUILD_SOURCEVERSION
$token = $env:SYSTEM_ACCESSTOKEN
$project = $env:SYSTEM_TEAMFOUNDATIONSERVERURI
$projectName = $env:SYSTEM_TEAMPROJECT
$repo = $env:BUILD_REPOSITORY_NAME
$repoUri = "$project/$projectName/_apis/git/repositories/$repo"
$request = @{}
$request.name = $rn
$request.message = $rn
$request.taggedObject = @{}
$request.taggedObject.objectId = $sv
$body = $request | ConvertTo-Json
$tagsUri = "$repoUri/annotatedtags?api-version=5.1-preview.1"
$header = @{ "Authorization" = "Bearer $token" }
$result = (Invoke-WebRequest $tagsUri -Method "Post" -Headers $header -ContentType "application/json" -Body $body -UseBasicParsing).Content | ConvertFrom-Json
Теги генерируются, но когда я нажимаю на них, я получаю следующую ошибку
Когда я пытаюсь запросить теги через API, я не получаю ожидаемые теги, которые перечислены в пользовательском интерфейсе
$token = $env:SYSTEM_ACCESSTOKEN
$uri = $env:SYSTEM_TEAMFOUNDATIONSERVERURI
$project = $env:SYSTEM_TEAMPROJECT
$repo = $env:BUILD_REPOSITORY_NAME
$gitUri = "$uri/$project/_apis/git/repositories/$repo"
$gitHeader = @{ "Authorization" = "Bearer $token" }
$tagsUri = "$gitUri/refs/tags?api-version=5.1-preview.1&" + '$top=1000'
$tagsResult = (Invoke-WebRequest $tagsUri -Headers $gitHeader -Method GET -ContentType "application/json" -UseBasicParsing).Content | ConvertFrom-Json
If($tagsResult.value.length -ne 0) {
# get the Last 2 TAGS
$lastTag = $tagsResult.value[$tagsResult.value.length - 2]
$lastTagHash = $lastTag.objectId
$annotatedTagUri = "$gitUri/annotatedtags/" + $lastTagHash + "?api-version=5.1-preview.1"
$annotatedTagsResult = (Invoke-WebRequest $annotatedTagUri -Headers $gitHeader -Method GET -ContentType "application/json" -UseBasicParsing).Content | ConvertFrom-Json
# get the Last Git Tag Hash
$commitHash = $annotatedTagsResult.taggedObject.objectId
}
Я не уверен, что что-то отсутствует в моей логике c или я делаю это неправильно