首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >powershell: bitbucket api post请求返回400错误

powershell: bitbucket api post请求返回400错误
EN

Stack Overflow用户
提问于 2017-10-25 14:47:34
回答 1查看 495关注 0票数 0

我正在使用powershell来使用Bitbucket API。Powershell发送命令进行检查,如果可以合并拉请求,然后将其合并。

第一个命令工作时没有任何问题:

代码语言:javascript
复制
Invoke-WebRequest -Headers @{Authorization = "Basic $base64AuthInfo"} -Method Get -ContentType "application/json" -Uri "$BaseUrl/rest/api/1.0/projects/$ProjectKey/repos/$RepoSlug/pull-requests/$PullRequestId/merge?version=$PRVersion"

我得到了一个有效的JSON响应。示例:

代码语言:javascript
复制
{"canMerge":true,"conflicted":false,"outcome":"CLEAN","vetoes":[]}

第二个命令必须使用POST请求来合并拉请求。与Post而不是Get相同的命令:

代码语言:javascript
复制
Invoke-WebRequest -Headers @{Authorization = "Basic $base64AuthInfo"} -Method Post -ContentType "application/json" -Uri "$BaseUrl/rest/api/1.0/projects/$ProjectKey/repos/$RepoSlug/pull-requests/$PullRequestId/merge?version=$PRVersion" -Verbose

这一个返回400错误,没有任何其他信息。

代码语言:javascript
复制
VERBOSE: POST https://bitbucket.example.com/rest/api/1.0/projects/TEAM/repos/tmp-test-repo/pull-requests/8/merge?version=2 with 0-byte payload
Invoke-WebRequest : The remote server returned an error: (400) Bad Request.
At line:1 char:1
+ Invoke-WebRequest -Headers @{Authorization = "Basic $base64AuthInfo"} ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

如何才能使职位要求工作?

参考资料:Bitbucket文档

EN

回答 1

Stack Overflow用户

发布于 2017-11-03 09:24:09

问题是Powershell没有在Invoke输出中输出扩展的细节,因此这使得调查变得非常困难。结果发现这个问题是我用的。在我使用Fiddler获取响应头之后,我从Bitbucket API获得了一个详细的响应,因此我能够修复我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46935518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档