Azure Create Pull Request API抛出错误:“参数值无效。需要源引用和目标引用。”

问题描述 投票:0回答:1

我不熟悉使用Azure API创建自动化脚本以将ReleaseCandidate合并为主要的后期制作版本。为此,我试图使用Azure REST API创建一个拉取请求。但面临以下错误:Invoke-WebRequest:{“ $ id”:“ 1”,“ innerException”:null,“ message”:“无效的参数值。\ r \ n参数名称:源引用和目标引用都是必需的。

我的请求正文如下:

$requestBody = @{
  targetRefName = "refs/heads/master";
  sourceRefName = "refs/heads/release/Release-2.42.0";
  reviewers = "77c0ffe29d3169a58ca0737bc05b76f9";
  title = "post release merge to master"
}

Request:
$AzurePRUrl = "https://dev.azure.com/{organisation}/_apis/git/repositories/{$RepositoryId}/pullrequests?api-version=5.0"  
$AzureCreatePRResult = $(Invoke-WebRequest -Uri $AzurePRUrl -UseBasicParsing -ContentType 'application/json' -Headers $Headers -Method post -Body $requestBody | ConvertTo-Json).content

没有关于文档或与此类型错误有关的其他任何信息。我现在被困住了。请提出建议。

powershell azure-api-apps
1个回答
0
投票

根据我的测试,审阅者应列出对象。有关更多详细信息,请参见document。因此,请将$requestBody更新为@{ targetRefName = "refs/heads/master"; sourceRefName = "refs/heads/release/Release-2.42.0"; reviewers =@{ "id"="77c0ffe29d3169a58ca0737bc05b76f9"}; title = "post release merge to master" }

例如

$requestBody = @{
  targetRefName = "refs/heads/master";
  sourceRefName = "refs/heads/test1";
  reviewers = @{"id"="d33731c1-c059-6d48-9408-be0e725276f4"};
  title = "post powershell script to test"
} | ConvertTo-Json
$AzurePRUrl = "https://dev.azure.com/{organisation}/_apis/git/repositories/{$RepositoryId}/pullrequests?api-version=5.1"  


$result=(Invoke-WebRequest -UseBasicParsing -Uri $url -Headers $headers -ContentType "application/json" -Method Post -Body $requestBody) 
$result.Content


enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.