我试图通过API找出构建的细节。我在下面使用以获得具体结果。 http://localhost:8080/job/test/lastBuild/api/json?pretty=true
现在,当构建失败时,我只是获取构建的状态。我想确定导致问题的构建步骤。请让我知道如何通过api
获取它答案 0 :(得分:1)
这是一个有趣的问题。
我之前从未发现过这样的事情,因为詹金斯只是告诉你好坏,就像你说的那样。
可能的解决方案是使用Jenkins BFA插件。
https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer
此插件可以帮助您根据配置中描述的错误模式自动检测错误。
然后您可以从jenkins json文件中收集详细错误信息。
BR,
添
答案 1 :(得分:0)
我一直在努力从Jenkins实例中删除失败的构建,然后尝试匹配失败,包括由Build Failure Analyzer分类的失败,我可以告诉你它有点令人沮丧。
我们有三种类型的构建(FreeStyle,Matrix和Workflow),每种构建都以不同的方式报告。蒂姆在API上使用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构建,以及以单个节点终止的Workflow构建。
对于Matrix构建,您必须按照runs
中提供的链接进行操作,但是您必须删除它为您提供的URL(它将构建号放在错误的位置)。然后在链接的构建上调用相同的API来删除那个。
对于Workflow构建,据我所知,有令人讨厌的消息,好消息,坏消息,甚至更糟的消息。这是一个令人讨厌的部分,你必须看到这是一个Workflow构建(查看你所获得的_class
属性而不要求它),然后查看构建URL,但替换wfapi
api/json
(并忘记其余参数)。然后,您可以按照您获得的json
链接来查找失败。好消息是,这为您提供了更好的故障链接,包括可理解的消息(有时)。
坏消息是我不确定Build Failure Analyzer是否正常运行,或者知道如何在正确的构建步骤中标记它。
更糟糕的是,对于我服务器上的大量构建,这个API似乎根本不起作用。即使我可以通过BlueOcean UI看到类似的信息。我现在正在调查这个问题。
很抱歉这不是一个简单的答案,但就目前我所知,这就是现状。