Java 詹金斯:有远程查看测试报告的API吗?
我使用詹金斯作为CI工具。我使用RESTfulAPI远程构建作业,但我也不知道如何远程获取测试结果。Java 詹金斯:有远程查看测试报告的API吗?,java,jenkins,junit,jenkins-api,Java,Jenkins,Junit,Jenkins Api,我使用詹金斯作为CI工具。我使用RESTfulAPI远程构建作业,但我也不知道如何远程获取测试结果。 如果有人知道使用XML或Json API的解决方案,我将不胜感激。在Jenkins上的大多数页面上,您可以向url添加/api/,并以xml、json和类似格式获取数据。因此,对于作业,您可以转到/job//api/xml,获取有关作业、构建等的信息。对于构建,您可以转到/job///api/xml,获得构建的摘要。注意,您可以使用latestXXXBuild来获得最新的成功、稳定、失败、完整的
如果有人知道使用XML或Json API的解决方案,我将不胜感激。在Jenkins上的大多数页面上,您可以向url添加
/api/
,并以xml、json和类似格式获取数据。因此,对于作业,您可以转到/job//api/xml
,获取有关作业、构建等的信息。对于构建,您可以转到/job///api/xml
,获得构建的摘要。注意,您可以使用latestXXXBuild
来获得最新的成功、稳定、失败、完整的构建,如下所示<代码>/job//lastCompletedBuild/api/xml
此外,如果您使用的插件将测试结果发布到构建中,那么对于给定的作业,您可以转到/job//lastCompletedBuild/testReport/api/xml
,您将获得一个包含结果的xml报告
还有很多,您可以使用
树
参数和深度
参数控制导出的内容。有关摘要,请访问/api/
如果您正在使用jenkins共享库或决定允许安全异常(一种不太好的方法),那么您可以通过作业访问它们,并将它们发送到您喜欢的任何位置-推送或拉送
def getCurrentBuildFailedTests() {
def failedTests = []
def build = currentBuild.build()
def action = build.getActions(hudson.tasks.junit.TestResultAction.class)
if (action) {
def failures = build.getAction(hudson.tasks.junit.TestResultAction.class).getFailedTests()
println "${failures.size()} Test Results Found"
for (def failure in failures) {
failedTests.add(['name': failure.name, 'url': failure.url, 'details': failure.errorDetails])
}
}
return failedTests
}
谢谢@Jon S的回答。我使用pythonapi来完成我的工作。我认为它和詹金斯一样有效charm@jons用于发布测试报告的Jenkins插件是什么。@Sree我使用管道中的正常junit步骤来记录测试结果。。。