我正在尝试通过 API 找出构建的详细信息。我在下面使用来获得具体的结果。 http://localhost:8080/job/test/lastBuild/api/json?pretty=true
现在,当构建失败时,我只是得到构建的状态。我想确定是哪个构建步骤导致了问题。请让我知道如何通过api获取它
我正在尝试通过 API 找出构建的详细信息。我在下面使用来获得具体的结果。 http://localhost:8080/job/test/lastBuild/api/json?pretty=true
现在,当构建失败时,我只是得到构建的状态。我想确定是哪个构建步骤导致了问题。请让我知道如何通过api获取它
我一直在做一些工作,从我们的 Jenkins 实例中抓取失败的构建,然后尝试匹配失败,包括由构建失败分析器分类的失败,我可以告诉你这有点令人沮丧。
我们有三种类型的构建(FreeStyle、Matrix 和 Workflow),每种构建的报告方式都不同。Timdepth=3
在 API 上使用的评论有效,但我一直在使用更具体的:
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 构建,有烦人的消息、好消息、坏消息,甚至更坏的消息。令人讨厌的部分是您必须看到这是一个工作流构建(查看_class
您获得的属性而不要求它),然后查看构建 url,但替换wfapi
为api/json
(并忘记其余参数)。然后,您可以按照从json
表单中获取的链接来定位故障。好消息是,这为您提供了更好的故障链接,包括可理解的消息(有时)。
The bad news is that I am not sure that the Build Failure Analyzer is working properly for these, or knows how to mark it on the proper build step.
The even worse news is that for a lot of builds on my server this API does not seem to work at all. This is even though I can see similar information through the BlueOcean UI. I am investigating running this down now.
Sorry that this is not a simple answer, but that is the state of things as far as I can tell at this point.
这是一个有趣的问题。
我以前从未发现过这样的事情,因为詹金斯只是按照你所说的告诉你好坏。
一个可能的解决方案是使用 Jenkins BFA 插件。
https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer
该插件可以帮助您根据您在配置中描述的错误模式自动检测错误。
然后您可以从 jenkins json 文件中收集详细的错误信息。
溴,
蒂姆