Я звоню следующим образом и получаю сообщение об ошибке «Проблемы с синтаксическим анализом JSON».
$pair = "XXXX:XXXXXXXXXXXXXXXXXXXXXXXX"
$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)
$base64 = [System.Convert]::ToBase64String($bytes)
$basicAuthValue = "Basic $base64"
$Body="{
`"base_tree`": `"2267699d5ea2a632c625693ceef5f7b77b2cda74`",
`"tree`": [
{
`"path`": `"synthetics/MyAccount-MakeAPayment.js`",
`"mode`": `"100644`",
`"type`": `"blob`",
`"content`" : `"require('new-relic-synthetics-manager');
//----- Add synthetic code below this line
//////////MORE CODE HERE TO CHECKIN///////////`"
}
]
}"
Invoke-RestMethod -Method Post -Uri "https://api.github.com/repos/MYORGANISATION/Test/git/trees" -Body $Body -Headers @{Authorization = $basicAuthValue}
Я пытался выполнить API, упомянутый в документации API github https://developer.github.com/v3/git/trees/#create-a-tree, и создатьдерево до совершения этих изменений.
Мое требование - изменить несколько файлов и зафиксировать изменения за один раз, чтобы я не смог рассчитывать на упоминание Content API в https://developer.github.com/v3/repos/contents/#create-a-file.
Когда я пытаюсь выполнить упомянутый фрагмент кода, упомянутыйранее я получаю сообщение об ошибке.
"message": "Проблемы с синтаксическим анализом JSON"
Я знаю, что в свойстве содержимого тела я предоставляю сценарии и который содержит символ новой строкисимволы, двойные кавычки, одинарные кавычки и т. д. Что нужно сделать для проверки сценариев подобного типа?
Я заметил, что даже если мы предоставляем один символ новой строки в контенте, он завершается с той же ошибкой.Даже Rest Api не принимает никакой строки в кодировке 64.При предоставлении строки в кодировке base64 вызов Api выполняется без ошибок, но мы получаем дерево, созданное с помощью кодированной строки.Что нежелательно.
Будем весьма благодарны за любые предложения или обходные пути в API или PowerShell.Заранее спасибо.