Создание отчета PEP8 xml для использования Дженкинса/Нарушений

Я установил Cobertura успешно, чтобы работать через Jenkins и создавать отчеты о покрытии, теперь я застрял в настройке "Нарушения", чтобы сообщать результаты тестов pep8.

Сейчас у меня это так, что я запускаю PEP8 с пакетной командой, и он генерирует .txt файл, в котором хранятся все нарушения, которые заканчиваются в рабочей области.

Должен ли я определять командные команды для создания xml файла для этих нарушений для отправки в действие Post-build Нарушения отчета? Если да, как бы я определил эту команду?

Ответ 1

Как указывает Вайк, вам не нужен XML файл. Вы можете просто передать вывод утилиты pep8 в файл и использовать это как файл нарушений в Jenkins.

Например, в вашей конфигурации сборки Jenkins в разделе:

Build -> Execute Shell -> Command

вы можете написать:

pep8 path/to/code > pep8_report.txt

И затем под:

Post-build Actions -> Report Violations -> pep8 / XML filename pattern

добавить:

pep8_report.txt

Обратите внимание, что даже если пользовательский интерфейс запрашивает XML файл, а файл не является файлом XML, это отлично работало для меня на Jenkins версии 1.499.

Ответ 2

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

После многих исследований я обнаружил, что плагин Jenkins Violations не нравится./бит перед каждой строкой, поэтому просто синтаксический анализ вывода pep8 (он также действителен для flake8) сделает трюк:

pep8 . | 's|^./||' | tee pep.txt

Важным битом является sed, который изменяет вхождения./в начале строки (^) в '', эффективно удаляя их

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