我正在VSTS和Postman中运行查询。在Postman中,我使用基本身份验证并输入了我的用户名和密码。在VSTS中,我使用Inline Azure Powershell步骤。 VSTS代码:
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
Invoke-RestMethod -Method Get -Uri $Uri -ContentType "application/json; charset=utf-8; api-version=4.0-preview.4" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
在VSTS中运行查询后,我写入输出$ uri并将其复制到Postman中。在Postman查询的主体中,我得到“count”:“1”和我期待的值。在VSTS中,使用完全相同的查询,我得到“count”:“0”。是什么导致了这种差异?
有时,我得到相同的数据而不是“计数”的差异,而不是可见。在VSTS中,它将是“{@ {id = 532; name = TestBuild_2017.09.28 ...”,在Postman中,它将显示所有数据,如“id”,“name”和“createdOn”。我是否可以更改在VSTS中查看的方式以使其全部可见?
Uri是:https://xx.vsrm.visualstudio.com/xx/xx/_apis/release/releases?api-version=4.0-preview.4&statusFilter=successful& $ top = 1& searchText = xx
答案 0 :(得分:0)
原因是$
字符是PowerShell中的关键字,你需要使用重音符号来逃避它。
使用https://xx.vsrm.visualstudio.com/xx/xx/_apis/release/releases?api-version=4.0-preview.4&statusFilter=successful&`$ top = 1& searchText = xx。