我使用jenkins作为CI工具。我使用restful api远程构建了一个作业,但我不知道如何远程获得测试结果。如果有人知道解决方案,我感激不尽
发布于 2017-02-18 16:53:52
使用XML或Json API。在Jenkins上的大多数页面上,你都可以将/api/
添加到url中,并获得xml、json和类似格式的数据。因此,对于一个工作,你可以去<Jenkins URL>/job/<Job Name>/api/xml
获取关于工作,构建等的信息。对于一个构建,你可以去<Jenkins URL>/job/<Job Name>/<build number>/api/xml
,你会得到关于这个构建的摘要。请注意,您可以使用latestXXXBuild
来获得最新的成功、稳定、失败、完整的构建,就像这样:<Jenkins URL>/job/<Job Name>/lastCompletedBuild/api/xml
。
此外,如果您使用的是将测试结果发布到构建的任何插件,那么对于给定的任务,您可以转到<Jenkins URL>/job/<Job Name>/lastCompletedBuild/testReport/api/xml
,您将获得一个包含结果的xml报告。
它还有更多的功能,您可以使用tree
参数和depth
参数控制导出内容。有关摘要,请访问<Jenkins URL>/api/
发布于 2019-09-21 02:20:06
好吧,如果您正在使用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
}
https://stackoverflow.com/questions/42311654
复制相似问题