VSTS API列表迭代(当前时间范围)在PowerShell中不起作用

时间:2018-06-05 23:48:03

标签: powershell azure-devops azure-devops-rest-api

请参阅thisthis关于背景故事的问题。简而言之,我试图在当前迭代中使用powershell在VSTS项目中创建一个错误。

根据文档here,如果我在Chrome中访问此网址(当然用正确的值替换),我会得到正确答案。即返回列表的计数为1,并且在数组中只有1个迭代json序列化对象,具有正确(当前)迭代。

GET https://{accountName}.visualstudio.com/{project}/{team}/_apis/work/teamsettings/iterations?$timeframe={$timeframe}&api-version=4.1

但是,如果我使用powershell来查询相同内容,我会得到所有迭代,而不仅仅是当前迭代。

$getCurrentIterationAPIURL = "https://account.visualstudio.com/project%20name/team/_apis/work/teamsettings/iterations?$timeframe=current&api-version=4.1"

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $creatorUser,$createrToken)))

$getCurrentIterationResult=Invoke-RestMethod -Method GET -Uri $getCurrentIterationAPIURL -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

这是API方面的错误(基于UserAgent的不同行为,我尝试使用Mozilla / 5.0(Macintosh; Intel Mac OS X 10_10_3)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 44.0指定UserAgent。 2403.89 Safari / 537.36,但没有用)或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

改为使用此网址:

$getCurrentIterationAPIURL = "https://account.visualstudio.com/project%20name/team/_apis/work/teamsettings/iterations?`$timeframe=current&api-version=4.1"

$替换为“$