在詹金斯中将构建状态更改为成功

Change build status to succes in jenkins

我的 jenkins 作业使用 testlink 来存储他们的测试结果。如果测试失败,testlink 插件会将构建状态更改为不稳定。

但是我希望构建结果由 Xunit 插件在 post-build 操作中确定,因为使用 Xunit 您可以调整失败阈值。 只有在出现新错误时构建才会不稳定。

我希望做到以下几点:

--test--

--testlink -> marked as unstable --

-- groovy scipt --> marked as succes --

build.result = hudson.model.Result.SUCCESS

-- xunit, checks threshold for unstable/succes --

但是似乎不可能将构建状态改回成功。 所以现在 testlink 标记为不稳定,并且 xunit 镜像该状态。

有没有办法解决这个问题?

不幸的是,我认为 Jenkins 不会让你在没有丑陋的 hack 的情况下做到这一点。

例如,您可以看到一条评论,明确指出结果只会在 Jenkins source code

中变得更糟

例如

462 // result can only get worse
463 if (result==null || r.isWorseThan(result)) {

话虽这么说....

工作完成后,您可以 "technically" 登录到 master 并通过直接更改 build.xmls 对已经完成的构建执行任何您想做的事情。

例如,您可以添加一个 post 构建作业,它将遍历 Jenkins master 上的文件并进行批量更新以将 "<result>UNSTABLE</result>" 替换为 "<result>SUCCESS</result>" 以转换所有构建成功。作业完成后,强制重启 Jenkins 服务器或重新加载其配置以使更改生效。

我不推荐这样做,因为谁知道如果你开始像这样发疯,詹金斯会发生什么事。 ;)