Azure Devops Git Теги не перечислены через вызов PowerShell API - PullRequest
0 голосов
/ 17 января 2020

У меня есть azure devops git Репо

Если я перехожу к своим репам >> Теги, я вижу целую кучу перечисленных тегов

enter image description here

Я генерирую теги следующим образом

$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

Теги генерируются, но когда я нажимаю на них, я получаю следующую ошибку enter image description here

Когда я пытаюсь запросить теги через 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 или я делаю это неправильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...