Как вы установили Авторизацию в своем скрипте?
- Вы можете Использовать токен OAuth для доступа к REST API
Чтобы ваш скрипт мог использовать токен OAuth процесса сборки, перейдите в
Параметры на вкладке определения сборки и выберите Разрешить доступ к сценариям
Токен OAuth ( Ссылка ниже на скриншоте для включения опции ).
Ниже скрипт работает на моей стороне:
$url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/build/builds/14?api-version=2.0"
Write-Host "URL: $url"
$result = Invoke-RestMethod -Uri $url -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Write-Host "$result = $($result | ConvertTo-Json -Depth 1000)"
- Вы также можете установить Авторизацию в скрипте, как показано ниже: (жестко закодировать ваши учетные данные в скрипте)
Например:
Param(
[string]$collectionurl = "http://server:8080/tfs/DefaultCollection",
[string]$projectName = "ProjectName",
[string]$keepForever = "true",
[string]$BuildId = "8",
[string]$user = "UserName",
[string]$token = "Password"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$uri = "$($collectionurl)/$($projectName)/_apis/build/builds/$($BuildId)?api-version=2.0"
$result = Invoke-RestMethod -Uri $uri -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
Write-Host "$result = $($result | ConvertTo-Json -Depth 1000)"
![enter image description here](https://i.stack.imgur.com/KHpZT.png)