【发布时间】:2018-11-30 18:17:00
【问题描述】:
我正在使用 PowerShell 任务在某个时间点后查询 TFVC 存储库以获取更改。为了在本地开发,我创建了一个与我的用户相关的 PAT。在发布定义中,我启用了Allow scripts to access OAUTH token。如果我现在分别使用 PAT 执行发布定义,OAUTH 我会得到现有更改的不同结果(例如,计数为 1 用于 PAT,0 用于 OAUTH)。查询完全相同:
https://xxx.visualstudio.com/xxx/_apis/tfvc/changesets?searchCriteria.itemPath=$projectPath&searchCriteria.fromDate=$cloudVersionTimestampUTC&api-version=4.1
这里是执行查询的代码:
Write-Host "Get Request with the URI '$uri'"
if ($localDevelopment) {
$GetResponse = Invoke-RestMethod `
-Uri $uri `
-Headers @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($env:SYSTEM_ACCESSTOKEN)")) }
Write-Host "Requested last changes for local development: $($GetResponse | ConvertTo-Json -Depth 100)"
}
else {
$GetResponse = Invoke-RestMethod `
-Uri $uri `
-Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" }
Write-Host "Requested last changes: $($GetResponse | ConvertTo-Json -Depth 100)"
}
有人知道为什么会这样吗?
谢谢
编辑:
这里是Project Collection Build Service (xxx) 帐户的权限:
同样重要的是,我们不使用托管代理,而是使用自定义代理。
【问题讨论】:
-
Project Collection Build Service (Xxx) 帐户对该路径的权限是什么?
-
@starianchen-MSFT:感谢您的回复。请查看编辑。
-
如果你用一个新的发布定义试试,结果如何?可以分享一下 OneDrive 上的详细日志吗? (将 system.debug 设置为 true)
标签: powershell oauth azure-devops azure-pipelines-release-pipeline tfvc