2016-07-28 101 views

回答

1

这是一个有趣的问题。

我从来没有找到过这样的事情,因为詹金斯只是告诉你,如你所说的好或坏。

一个可能的解决方案是使用Jenkins BFA插件。

https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer

这个插件可以帮助您自动检测基于您在配置描述的错误模式的错误。

然后你可以从jenkins json文件中收集详细的错误信息。

BR,

+0

我已经安装了BFA插件并配置了故障模式。但是,请你指点我如何在jenkins api json格式中得到这个错误。 – user987709

+0

嗨,你需要使用像这样的https:// localhost/jenkins/job/ShellTest/1/api/json?pretty = true&depth = 3,depth = 3将帮助你显示故障原因相关信息,例子是“foundFailureCauses”:[{ “类别”:[ “聚甲醛” ], “描述”: “SCM连接或developerConnection必须指定”, “ID”:“28953504-e351-4dff-9c9b-1143325d6c7a “, ”name“:”Pom - Missing SCM Information“ },那么你可以用任何json解析器解析响应。 – Tim

0

我一直在做刮失败的一些工作,建立我们的詹金斯实例,然后试图匹配失败,包括那些由构建失败分析归类,并我可以告诉你这有点令人沮丧。

我们有三种类型的版本(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来删除那个。

对于工作流程构建而言,据我所知,存在烦人的新闻,好消息,坏消息,甚至更糟糕的消息。令人讨厌的部分是,你必须看到这是一个工作流构建(查看_class属性,你没有要求它),然后看构建url,但替换wfapiapi/json(并忘记其余的参数)。然后,您可以按照您返回的json链接来查找失败。好消息是,这给你一个更好的链接到失败,包括可理解的消息(某个时候)。

坏消息是我不确定构建失败分析器是否正常工作,或者知道如何在正确的构建步骤上标记它。

更糟糕的消息是,对于我的服务器上的大量构建,此API似乎根本不起作用。即使我可以通过BlueOcean UI看到类似的信息。我正在调查现在运行这个。

对不起,这不是一个简单的答案,但就目前而言,这是事情的状态。

相关问题