Java 詹金斯:有远程查看测试报告的API吗?

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来获得最新的成功、稳定、失败、完整的

我使用詹金斯作为CI工具。我使用RESTfulAPI远程构建作业,但我也不知道如何远程获取测试结果。
如果有人知道使用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步骤来记录测试结果。。。