Я так и сделал.
Мне не нужна была задача «Опубликовать результаты теста», поскольку задача «Сборки тестов» уже выполняется.
Результаты теста публикуются в виде файла .trx, так как я использую xUnit в качестве среды тестирования.
Мой скрипт powershell выглядит примерно так.
[Reflection.Assembly]::LoadFile("$Env:BUILD_SOURCESDIRECTORY\<ProjectFolder>\Scripts\Newtonsoft.Json.dll")
$resultFiles = Get-ChildItem -Path ".\TestResults\*.trx"
foreach ($resultFile in $resultFiles) {
Write-Output $resultFile
$data = [xml](Get-Content $resultFile)
$json = [Newtonsoft.Json.JsonConvert]::SerializeXmlNode($data)
$json = $json -replace '"@', '"'
Invoke-WebRequest -Uri "https://my-azure-function/api/VstsWebhook?buildId=$Env:BUILD_BUILDID&buildNumber=$Env:BUILD_BUILDNUMBER&code=<secret>" -Method POST -ContentType 'application/json' -Body $json
}
Надеюсь, это поможет другим в такой же ситуации.