尝试使用身份验证(JetBrains最近在TeamCity中添加的功能)访问TeamCity。该文档非常差,没有示例。只是对我不起作用。

执行POWERSHELL命令

以下不是我尝试的唯一方法,但作为示例,发布了调用rest方法的命令,例如:

$body="<build branchName=`"development`" rebuildAllDependencies=`"true`"><buildType id=`"DevSandbox_TestArea_PageAutomation`"/></build>"
Invoke-RestMethod -Uri http://teamcity.my.domain.com/httpAuth/app/rest/buildQueue/ -Method Post -ContentType application/xml -Body $body -Headers @{Origin= 'http://teamcity.my.domain.com'; Authorization= 'Bearer tEamCitYauThtoKen'} -UseBasicParsing

错误

出现以下错误:
Invoke-RestMethod : The remote server returned an error: (401) Unauthorized.
At line:1 char:1
+ Invoke-RestMethod -Uri http://teamcity.my.domain.com/httpAuth/app/r ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

谁能帮我一下标题和/或缺少的内容有什么问题吗?

引用:

TeamCity 2019.1 Help - Managing Access Token

Powershell 6 - Invoke-RestMethod

最佳答案

仅当使用基本身份验证访问TeamCity服务器时,才需要URL中的/httpAuth/部分。

所以解决方案是使用url http://teamcity.my.domain.com/app/rest/buildQueue/代替http://teamcity.my.domain.com/httpAuth/app/rest/buildQueue/因为您使用基于 token 的身份验证。

关于powershell - 使用Authenticationn/Access token 访问TeamCity时出现错误401未经授权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57412048/

10-13 22:26