0
私はBitbucket APIを使用するためにpowershellを使用しています。 Powershellは、プルリクエストをマージしてマージできるかどうかを確認するコマンドを送信します。何の問題もなくpowershell:bitbucket api post要求が400エラーを返します
まずコマンドの作品:
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レスポンスを取得しています。例:
{"canMerge":true,"conflicted":false,"outcome":"CLEAN","vetoes":[]}
2番目のコマンドは、プル要求をマージするためにPOST要求を使用する必要があります。代わりにのポストと同じコマンドがを取得:
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
この1つは、他の情報なしに400エラーを返します。
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
POSTリクエストはどのように動作させることができますか?
* REST * APIを考慮して、 'Invoke-RestMethod'を試してみることができます。 – TheIncorrigible1