Изменить статус сборки на успех в Дженкинс

Мои задания Дженкинса используют testlink для хранения результатов своих тестов. Плагин testlink изменяет статус сборки на нестабильный, если тест не пройден.

Однако я хочу, чтобы результат сборки определялся плагином Xunit в действии после сборки, потому что с помощью Xunit вы можете адаптировать порог отказа. Сборка должна быть нестабильной только при наличии новых ошибок.

Я надеялся сделать следующее:

--тестовое задание--

--testlink -> помечен как нестабильный -

- Groovy Scipt -> помечены как успехи -

build.result = hudson.model.Result.SUCCESS

- xunit, проверяет порог нестабильности / успеха -

Однако кажется невозможным изменить статус сборки обратно на успех. Так что теперь testlink помечает как нестабильный, и xunit отражает этот статус.

Есть ли способ обойти эту проблему?

1 ответ

Решение

К сожалению, я не думаю, что Дженкинс позволит вам сделать это без отвратительного взлома.

Например, вы можете увидеть комментарий, в котором четко указано, что результат может ухудшиться только в исходном коде Jenkins.

например

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

Что, как говорится....

Как только работа завершена, вы можете "технически" войти в систему мастера и делать все, что хотите, для уже завершенных сборок, напрямую изменяя build.xmls.

Например, вы можете добавить задание после сборки, которое будет просматривать файлы на главном сервере Jenkins и выполнять массовое обновление для замены "<result>UNSTABLE</result>" в "<result>SUCCESS</result>" превратить все сборки в успех. После завершения работы принудительно перезапустите сервер Jenkins или перезагрузите его конфигурацию, чтобы изменения вступили в силу.

Я не рекомендую это, поскольку кто знает, что случится с Дженкинсом, если вы начнете сходить с ума, как это.;)

Другие вопросы по тегам