我不熟悉使用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
没有关于文档或与此类型错误有关的其他任何信息。我现在被困住了。请提出建议。
根据我的测试,审阅者应列出对象。有关更多详细信息,请参见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