Azure REST API获取回购列表返回0回购

Azure REST API获取回购列表返回0回购,rest,azure-devops,Rest,Azure Devops,我有一个Powershell脚本正在Azure Devops的构建管道中运行,我有一个从项目返回repo列表的调用。出于某种原因,当我知道我应该得到2份回购协议时,我总是得到一份0份回购协议的清单 $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$testpat))) $repositories = (Invoke-WebRequest -Uri

我有一个Powershell脚本正在Azure Devops的构建管道中运行,我有一个从项目返回repo列表的调用。出于某种原因,当我知道我应该得到2份回购协议时,我总是得到一份0份回购协议的清单

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$testpat)))
$repositories = (Invoke-WebRequest -Uri https://dev.azure.com/$organization/$project/_apis/git/repositories?api-version=5.1 -Proxy http:\\webproxy.testcomp.ca:1080 -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -ProxyUseDefaultCredentials).Content | ConvertFrom-Json | Select-Object -ExpandProperty value
Write-Host "New repos length: " $repositories.Length
$username
是我的Windows用户,它应该是我传递的值
$testpat
是我的个人访问令牌,可在整个组织内进行完全访问

至于我的构建管道,我的代理池是我的本地池。我不知道为什么会这样

已编辑


此外,我在Azure上的其他自动化Powershell脚本之后设置了构建管道。唯一的区别是他们运行的项目和脚本的名称。

我想出来了$长度并没有给出数组的实际长度

$repositories = (Invoke-WebRequest -Uri https://dev.azure.com/$organization/$project/_apis/git/repositories?api-version=5.1 -Proxy http://webproxy.testcomp.ca:1080 -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -ProxyUseDefaultCredentials).Content | ConvertFrom-Json | Select-Object -ExpandProperty value

$repositories | ForEach-Object -Process {
}

这个ForEach循环允许我正确地循环数组。

好吧,乍一看,您的代理的URI格式不正确。请注意反斜杠而不是正斜杠。它们应该是正斜杠?根据HTTP规范,是的。嗨,朋友,谢谢你的分享,请将你的回复标记为答案,这将帮助其他社区成员更容易搜索这些有用的信息。看,这只是一个提醒:)