Вообщем код работает просто нужно слать полное имя файла вместе с расширением
task sendReports {
group "Work Allure Server api"
description "send results test in remote server"
doLast {
/* Settings */
String reportPath = 'build/allure-results'
String allureServer = 'http://127.0.0.1:5050/send-results'
/* get files in build */
def dh = new File(reportPath)
def request = new Request()
dh.eachFile {
Reports files = new Reports(
file_name: it.name,
content_base64: it.text.bytes.encodeBase64()
)
request.results.add(files)
}
//println JsonOutput.toJson(request)
/* Send report to api*/
def req = new URL(allureServer).openConnection()
req.setRequestMethod("POST")
req.setRequestProperty("Content-Type", "application/json; charset=UTF-8")
req.setDoOutput(true)
req.getOutputStream().write(JsonOutput.toJson(request).getBytes("UTF-8"))
logger.quiet "Status code: ${req.getResponseCode()}"
def resp = new JsonSlurper().parseText(req.getInputStream().getText())
logger.quiet "Response: ${resp}"
}
}
class Request {
List<Reports> results = new LinkedList<>()
}
class Reports {
String file_name
String content_base64
}