我正在尝试通过API找出构建的详细信息。我使用下面的代码来获得具体的结果。http://localhost:8080/job/test/lastBuild/api/json?pretty=true
现在,当构建失败时,我只是获取构建的状态。我想确定是哪个构建步骤导致了问题。请告诉我如何通过api获取
发布于 2016-07-30 21:22:11
这是一个有趣的问题。
我以前从来没有找到过这样的东西,因为Jenkins只会像你说的那样告诉你好或坏。
一种可能的解决方案是使用Jenkins BFA插件。
https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer
这个插件可以帮助你根据你在配置中描述的错误模式自动检测错误。
然后,您可以从jenkins json文件中收集详细的错误信息。
Br
时间
发布于 2017-04-11 22:48:25
我一直在做一些工作,从我们的Jenkins实例中抓取失败的构建,然后尝试匹配失败,包括那些由构建失败分析器分类的失败,我可以告诉你这有点令人沮丧。
我们有三种类型的构建(FreeStyle、矩阵和工作流),每种构建都以不同的方式进行报告。Tim关于在应用程序接口上使用depth=3
的评论是有效的,但我一直在使用更具体的:
https://HOST_NAME/job/PROJECT_NAME/api/json?pretty=true&tree=allBuilds[number,timestamp,url,duration,result,runs[url,number],actions[foundFailureCauses[*]]]
tree
部件可以更好地确保您获得所需的所有部件(有时depth
无法获得此部件),并排除您不需要的部件。这适用于FreeStyle生成和以单个节点终止的工作流生成。
对于矩阵构建,您必须遵循runs
中提供的链接,但您必须大嚼它提供给您的网址(它会将构建号放在错误的位置)。然后,在链接的构建上调用相同的API来剔除该API。
据我所知,对于工作流构建,有恼人的消息,好消息,坏消息,甚至更坏的消息。需要注意的是,您必须看到这是一个工作流构建(查看您在未请求的情况下获得的_class
属性),然后查看构建url,但将wfapi
替换为api/json
(并忘记其余参数)。然后,您可以按照从表单返回的json
链接来定位故障。好消息是,这为您提供了更好的故障链接,包括容易理解的消息(有时)。
坏消息是,我不确定Build Failure Analyzer是否能正确处理这些问题,也不知道如何在正确的构建步骤中标记它。
更糟糕的是,对于我的服务器上的许多构建,这个API似乎根本不起作用。即使我可以通过BlueOcean UI看到类似的信息,也是如此。我现在正在调查这件事。
很抱歉,这不是一个简单的答案,但这就是我目前所能说的情况。
https://stackoverflow.com/questions/38647903
复制相似问题