Как я могу опубликовать несколько объектов json в одном комментарии к запросу на вытягивание в curl?
У меня есть следующий вывод, который я хотел опубликовать в запросе на вытягивание github в качестве комментария.
{
"@name": "testWalletDeepLinkLoginFlow",
"@classname": "iphone13pro-15.7-en-portrait#.AppUI-Tests.WalletDeepLinkLoginFlowTest",
"@time": "30.246",
"failure": "Failure at /Users/vagrant/git/AppUITests/Extensions/XCUIElement+Additions.swift:30 - Assertion Failure at XCUIElement+Additions.swift:30: Failed to get matching snapshot: No matches found for first query match sequence: `Descendants matching type TextField` -> `Elements matching predicate '\"input_country_search\" IN identifiers'`, given input App element pid: 627 (no attribute values faulted in)",
"webLink": "https://console.firebase.google.com/project/app-54934/testlab/histories/bh.388190097b1eab25/matrices/9067272573409626190/details"
}
{
"@name": "testWalletDeepLinkMainFlow",
"@classname": "iphone13pro-15.7-en-portrait#.AppUI-Tests.WalletDeepLinkMainFlowTest",
"@time": "50.672",
"failure": "Failure at /Users/vagrant/git/AppUITests/DeepLinks/Wallet/WalletDeepLinkMainFlowTest.swift:17 - Assertion Failure at WalletDeepLinkMainFlowTest.swift:17: XCTAssertTrue failed",
"webLink": "https://console.firebase.google.com/project/app-54934/testlab/histories/bh.388190097b1eab25/matrices/7233833673388432629/details"
}
Я готовлю комментарий к запросу на вытягивание github с помощью следующего метода
generate_pull_request_payload()
{
cat <<EOF
{
"body": "$FAILED_TESTS"
}
EOF
}
Я использую инструмент командной строки xq для получения только неудачных тестов и использую приведенный выше вывод для публикации на github со следующим curl
curl -X POST "https://api.github.com/repos/owner/repo/issues/3943/comments" \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Content-type: text/json; charset=utf-8" \
--data "$(generate_pull_request_payload)"
Я ожидал, что вывод будет опубликован в комментарии
1 ответ
Одна вещь, которую мне не хватало, - это получить вывод журнала $FAILED_TESTS в виде текста, передав его какjq -sR '. | @text'
и мне нужно было удалить двойные кавычки в следующей строке"body": $FAILED_TESTS
и это сработало