allure pipeline step генерирует пустой отчет

Jenkins version: 2.60.2
Job type: Pipeline
Allure plugin version: 2.22
Allure commandline version: 2.3.3

Проблема:

  • Pipeline job сохраняет результаты тестов (pytest) в “allure_reports”
  • Allure step сгенерированый через snippet generator должен сгенерировать репорт из данных внутри “allure_reports”: allure jdk: ‘’, results: [[path: “allure_reports”]]
  • Allure игнорирует результаты тестов, и генерирует пустой отчет внутри папки с “allure_reports”
/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/2.3.3/bin/allure generate -o allure-report
allure-results does not exists
send analytics
Report successfully generated to allure-report

в качестве workaround, запускал allure-report вручную:

/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/2.3.3/bin/allure generate allure_reports -o allure-report
Report successfully generated to allure-report

в этом случае все хорошо, кроме то что нет автоматической загрузки в jenkins результатов.

Если кто может подсказать:

Спасибо

allure-results does not exists это наводит на мысль, что не прописан путь к папке с результатами в дженкинсе

гляньте тут:
http://automated-testing.info/search?q=allure-results%20does%20not%20exists

в поиск ходил :slight_smile: но либо я не знаю что искать либо одно из двух.
поначалу тоже думал что не хватает какой то настройки.

но все тоже самое только с freestyle project и allure-report плагин из post-build-actions работает без проблем:

tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/2.3.3/bin/allure generate ...../ci/testing-base/logs/allure -o .../ci/allure-report
Report successfully generated to ..../ci/allure-report
Allure report was successfully generated.
Creating artifact for the build.
Artifact was added to the build.

а вот с pipeline тупик, тако чувство что действительно в этом случае плагин просто не видит переменной path.
хотя именно туда кладет пустой репорт.

Уже разборались или проблема воспроизводится?

к сожалению пока не разобрался :confused:
если у кого есть рабочий пример именно с pipeline (все примеры что я находил с pom/java/etc не сильно помогают)…

Я в пайплайне использую. Проблем не замечал. Завтра скину точный конфиг.

1 лайк
stage('Publish tests results') {
    allure([
        includeProperties: true,
        jdk              : '',
        properties       : [],
        reportBuildPolicy: 'ALWAYS',
        results          : [[path: 'ui-tests/build/allure-results']]
    ])
}

ui-tests - модуль с тестами,
build - дефолтная директория для gradle сборки (для maven будет target),
allure-results - дефолтная директория с результатами.

П.С. Для python не в курсе, где там результаты складируются. Нужно смотреть адаптер.

спасибо,
проблема осталась, поэтому просто создал новый pipeline с одним единственным тестом

node('TEST-SERVER')  {
    stage ('Test') {
        sh 'py.test test_1.py --alluredir=logs/'
    }

    stage ('Results') {
        allure jdk: '', results: [[path: "logs/"]]
    }
}

и все заработало как надо, видимо что то у нас в системе тестов не так создается и проблема не в allure.
всем спасибо!

Сергей, можно ли узнать небольшие подробности тут:

  1. какая версия плагина используется
  2. какой файл выкачивается для генерирования отчета - у меня качает данную версию:
    Unpacking https://oss.sonatype.org/content/repositories/releases/ru/yandex/qatools/allure/allure-commandline/1.4.23.HOTFIX1/allure-commandline-1.4.23.HOTFIX1-standalone.zip
    ?

благодарю за ответы

Вы подключаете древнюю версию видимо. В доках есть более или менее свежее описание: Allure Framework

Версии плагина рекомендую отслеживать тут: Releases · jenkinsci/allure-plugin · GitHub
Самого репорта - тут: Releases · allure-framework/allure2 · GitHub
Java адаптеров - тут: GitHub - allure-framework/allure-java: Allure integrations for Java test frameworks

1 лайк

Самое интересное, что плагин в дженкинсе у нас последний,
но так как мы юзаем и C# и Java (gradle) проекты - то он не работает ни там ни там.

Там не просто надо плагин устанавливать, а еще и конфигурировать commandline для скачивания нужной версии.

1 лайк

Сергей, хочу выразить тебе свою благодраность! =)
Т.к. нет доступа в настройки - не мог знать, что нужно еще что-то настраивать
В данный момент я попросил поменять версию CommandLine и все заработало сразу.
вот, что значит “need some fresh eyes” =)

Можно просто воспользоваться встроенным функционалом :wink:

1 лайк

бггг =)
сообщение лучше, чем лойс. ну раз настаиваешь - держи =))