Не удается опубликовать отчеты newman-reporter-htmlextra с помощью html издателя Jenkins - PullRequest
1 голос
/ 20 мая 2019

Я работаю 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.

Есть идеи?

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

1 Ответ

1 голос
/ 20 мая 2019

Я полагаю, что вы открываете не ту папку, когда хотите опубликовать свой 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 вашего плагина неверен.

...