【发布时间】:2018-06-21 01:28:52
【问题描述】:
我需要在成功部署发布后触发构建。我已经尝试在发布定义的 Powershell 中使用以下代码。
执行后,我收到此错误 - 由于凭据无效,访问被拒绝
$url = "http://abc:8080/tfs/GlobalCollection/Project/_apis/build/builds?
api-version=2.0"
$body = "{ 'definition' : { 'id' : 1} }"
$type = "application/json"
$headers = @{
Authorization = "Basic d3JlblxzcsampleTIzNA=="
}
Write-Host "URL: $url"
$definition = Invoke-RestMethod -Uri $url -Body $body -ContentType $type -
Method Post -Headers $headers
Write-Host "Definition = $($definition | ConvertTo-Json -Depth 1000)"`
【问题讨论】:
-
1) 不要公开发布您的凭据。 2)通过这样做,我发现您使用了错误的分隔符。对于基本身份验证,使用冒号
:而不是反斜杠“\”分隔用户名和密码(另请参阅stackoverflow.com/a/27951845/3905079)。 -
另外,除非 TFS 服务器为 TFS 2017 及更高版本运行 SSL,否则基本身份验证不起作用。
-
@briantist- 如果你仔细观察,我通过删除一些字符在凭据之间写了“sample”;)。只是为了展示我如何发送这样的凭据。
标签: powershell tfs msbuild ms-release-management azure-devops-rest-api