Как параметризовать каталоги результатов очарования в конвейерном скрипте jenkins? - PullRequest
0 голосов
/ 11 февраля 2019

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

  1. Получить список путей к каталогам на главном узле, где хранятся результаты очарования
  2. Создать список [[path: "path / to/ directory "], ...]
  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 allure-results не существует

2) results: "${results} "

Исключение java.lang.IllegalArgumentException выбрасывается

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

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

0 голосов
/ 11 февраля 2019

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

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

на следующую

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

запишите пробел после "

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...