Как параметризовать каталоги результатов allure в скрипте конвейера jenkins?

Я пытаюсь передать переменную списка groovy в плагин allure в сценарии конвейера Jenkins. Мне нужно, чтобы список результатов был динамичным. Итак, я нашел решение:

  1. Получить список путей к каталогам на главном узле, где хранятся результаты соблазнения
  2. Создайте список [[путь: «путь / к / каталогу»], ...]
  3. Передайте этот список через переменную в плагин allure

Пример кода:

def collectResultDirectories(){
  def directories = sh(
    script: "ls ${ALLURE_DIR}",
    returnStdout: true
  ).split('\t?\n')
  def results = []
  for (dir in directories) {
      results = results + [path: "${ALLURE_DIR}/${dir}"]
  }
  return results
}

def createAllureReport() {
  def results = collectResultDirectories() 
  // == [[path: "results_dir1"], [path: "results_dir2"]]
  allure([
    includeProperties: false,
    jdk: '',
    properties: [],
    reportBuildPolicy: 'ALWAYS',
    // Here I am trying to pass a list variable
    results: results
  ])
}

1) результаты: результаты

Ожидается: создается объединенный отчет. Фактически: Пустой отчет с выводом:

/var/lib/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate -c -o / var / lib / jenkins / jobs / jobName / workspace / allure-report

22:52:11 очарования-результатов не существует

2) results: "$ {results}"

Выдается исключение java.lang.IllegalArgumentException


person astiasun    schedule 10.02.2019    source источник


Ответы (2)


одно исправление, которое обязательно нужно сделать, следующее: изменить строку

results = results + [path: "${ALLURE_DIR}/${dir}"]

следовать

results += [path: " ${ALLURE_DIR}/${dir}"]

обратите внимание на пробел после "

кроме этого, все выглядит нормально, попробуйте вернуться с более подробной ошибкой, если есть

person BigGinDaHouse    schedule 11.02.2019

Удалось найти ошибку. Я указал абсолютный путь к каталогам, который неверен - Allure ищет их в текущем рабочем каталоге. Смена рабочего каталога решила проблему.

person astiasun    schedule 11.02.2019
comment
это все еще работает для вас? Можете ли вы создать отчет, передав «результаты» в виде динамической переменной? - person Adi Ohana; 09.12.2020