Не удалось опубликовать отчеты newman-reporter-htmlextra с помощью Jenkins html publisher

Я использую newman с newman-reporter-htmlextra в Jenkins pipeline, создавая html-отчет, который я хочу опубликовать через jenkins html publisher.

Это этап в конвейере, который я использую

stage('Newman tests') {
steps() {
    script {
        dir("${JENKINS_HOME}/workspace/myproject") {
            sh 'newman run "./Collections/my_collection.postman_collection.json" --reporters cli,junit,htmlextra --reporter-junit-export "newman_result.xml" --reporter-htmlextra-export "newman_result.html"'
            junit "*.xml"
        }
    }
    publishHTML target: [
            allowMissing: false,
            alwaysLinkToLastBuild: false,
            keepAll: true,
            reportDir: '.',
            reportFiles: 'newman_result.html',
            reportName: 'Newman HTML Reporter'
    ]
}

Он запущен и создает запись Newman HTML Reporter в моем Jenkins проекте.

Однако когда я открываю такой отчет, он пуст, пожалуйста, проверьте  screenshot .

Любые идеи?

Заранее большое спасибо, Кристиан


person Christian Baumann    schedule 20.05.2019    source источник


Ответы (1)


Я предполагаю, что вы обращаетесь не к той папке, когда хотите опубликовать свой html-результат. Вы создаете свой файл не в обычном рабочем пространстве jenkins:

dir("${JENKINS_HOME}/workspace/myproject") {
    sh 'newman run "./Collections/my_collection.postman_collection.json" --reporters cli,junit,htmlextra --reporter-junit-export "newman_result.xml" --reporter-htmlextra-export "newman_result.html"'
    junit "*.xml"
}

После выхода из script{} вы получаете доступ к исходной рабочей области Jenkins, поэтому reportDir: '.' - это не та папка, в которой находится ваш файл, что означает, что ни один файл = ни один HTML не может отображаться.

Здесь у вас есть 3 варианта:

  1. Вы создаете файл в обычном рабочем пространстве Jenkins.

  2. Плагин HTML Publisher нацелен на правильную папку

  3. Поместите плагин HTML Publisher в область dir{}, как вы это сделали с junit plugin

Чтобы легко узнать, к какой папке вы получаете доступ, в какой области вы можете запустить echo pwd. Сделайте это один раз в области dir{} и один раз в области действия вашего плагина, тогда должно быть ясно, что reportDir вашего плагина неправильный.

person Michael Kemmerzell    schedule 20.05.2019
comment
У меня такая же проблема - C: / Users / user / AppData / Roaming / npm / newman run C: /postmancollections/07072021/Test-Collection.postman_collection.json -r cli, htmlextra --disable-unicode --reporter- htmlextra-export einvoice-test-suite-report.html --reporter-htmlextra-title Отчет Сводка теста, а мое рабочее пространство - C: \ CustomWorkspace, и я могу видеть отчет html, созданный в этом месте, но когда я получаю доступ через jenkins тогда его пусто, как и выше - person simond; 07.07.2021
comment
Майкл Кеммерцелл, не могли бы вы помочь мне с вышеуказанным - person simond; 07.07.2021
comment
Я предлагаю задать новый вопрос, не уверен, подходит ли ваша проблема к этому вопросу. - person Michael Kemmerzell; 07.07.2021
comment
Майкл Кеммерцелл, добавил новый вопрос - stackoverflow.com/questions/68295598/ - person simond; 08.07.2021