Azure Ошибка создания API-интерфейса запроса на извлечение: «Недопустимое значение аргумента. Требуется ссылка на источник и цель». - PullRequest
0 голосов
/ 07 февраля 2020

Я новичок в использовании Azure API-интерфейсов для создания сценария автоматизации для объединения ReleaseCandidate и мастер-выпуска после выпуска. Для этого я пытаюсь создать пул-запрос, используя Azure REST API. но сталкивается с приведенной ниже ошибкой: Invoke-WebRequest: {"$ id": "1", "innerException": null, "message": "Недопустимое значение аргумента. \ r \ nParameter name: требуется ссылка как на источник, так и на цель.

Тело моего запроса, как показано ниже:

$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

Нет информации о документации или где-либо еще, связанных с этим типом ошибки. Я застрял на данный момент. Пожалуйста, предложите.

1 Ответ

0 голосов
/ 25 февраля 2020

Согласно моему тесту, рецензентам следует список объектов. Для более подробной информации, пожалуйста, обратитесь к документу . Поэтому, пожалуйста, обновите $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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...