Я добавил скрипт powershell в выпуске azure devops и пытаюсь отправить POST-запрос, используя Invoke-WebRequest с токеном авторизации и XML-файлом.
Что я делаю не так?
Я получаю токен авторизации из другого запроса POST и пытался создать заголовки с помощью этого токена и пытаюсь отправить xml-файл с помощью конечной точки рентгеновского излучения (результаты NUnit XML - POST / api / v1 / import / execute / nunit)
https://confluence.xpand -it.com / дисплей / XRAYCLOUD / Импорт + Execution + Результаты + - + REST # ImportExecutionResults-Rest-NUnitXMLresults
Параметры токена авторизации, такие как параметры заголовков
Тип содержимого, такой как параметры powershell
$bodyForAuth=@{"client_id"="...";
"client_secret"="...";
}
$jsonAuth=Invoke-WebRequest -Uri $urlForAuth -Method POST -Body ($bodyForAuth|ConvertTo-Json) -ContentType "application/json"
$authToken=ConvertFrom-Json -InputObject $jsonAuth
$headers=@{ Authorization = "Bearer $authToken" }
Invoke-WebRequest -Headers $headers -Uri $urlForXrayApi -Method POST -ContentType "text/xml" -InFile $TestResultsXmlPath
А у меня ошибка: «Invoke-RestMethod: не удалось найти данные аутентификации по запросу»
Также я пытаюсь отправить так:
$headers=@{ Authorization = "Bearer $authToken";"Content-Type"="text/xml" }
Invoke-WebRequest -Headers $headers -Uri $urlForXrayApi -Method POST -InFile $TestResultsXmlPath
А также имеют ту же ошибку: "Invoke-RestMethod : Could not find authentication data on request"
Но если я отправлю запрос POST следующим образом (без Content-Type):
$bodyForAuth=@{"client_id"="...";
"client_secret"="...";
}
$jsonAuth=Invoke-WebRequest -Uri $urlForAuth -Method POST -Body ($bodyForAuth|ConvertTo-Json) -ContentType "application/json"
$authToken=ConvertFrom-Json -InputObject $jsonAuth
$headers=@{ Authorization = "Bearer $authToken" }
Invoke-WebRequest -Headers $headers -Uri $urlForXrayApi -Method POST -InFile $TestResultsXmlPath
У меня ОШИБКА СЕРВЕРА: "Invoke-RestMethod : {"error":"Missing data in the nunit results import request"}"
Power Shell v. 5.1
Почему при отправке на заголовки сервер не может оштрафовать данные авторизации?