PowerShell для публикации содержимого json как тела комментария запроса на вытягивание - PullRequest
1 голос
/ 07 августа 2020

Я пытаюсь опубликовать sh комментарий к PR из образца выходного файла в качестве тела комментария. Мне было трудно сохранить удобочитаемый формат в теле, поскольку он печатал его как одну строку. Теперь я думаю, что заставил это работать, но Invoke-WebRequest все еще не работает с "innerException": null, "message": "Value cannot be null".

Я вижу, что содержимое правильно отформатировано в $ body, но все же нулевое сообщение является ошибкой. Что я здесь делаю не так?

$JsonContent = Get-Content .\temp.output -Raw
$bodyFromJson = @{"comments"=@{"parrentCommentId"=0;"comment"=$JsonContent;"commentType"="1"};"properties"=@{"Microsoft.TeamFoundation.Discussion.SupportsMarkdown"=@{"type"="System.Int32";"value"="1"};"status"="1"}}
$body = $bodyFromJson | ConvertTo-Json -Depth 100
$uri = "https://dev.azure.com/uri"
$headers = @{
"Content-Type" = "application/json"
"Authorization" = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Invoke-WebRequest -Uri $Uri -Method Post -Headers $headers -Body $body

Теперь я получаю следующую ошибку:

Сообщение об ошибке

temp.output content ниже

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place

Update will perform the following actions:

# Resource ABC will be updated in-place
~ resource “resource_name” {
endpoint_name = “ABC”
endpoint_type = “xyz”
priority = 2
~ weight = 1 -> 10

custom_header {
name = “host”
value = “host.test.com”
}
}

Plan: 0 to add, 1 to change, 0 to destroy.
...