У меня есть декларативный конвейер Дженкинса, в котором один и тот же блок кода должен работать несколько раз с разными параметрами в блоке post. В общем, похоже, что следующий метод
post {
always {
script {
processTestResults("stage1", "path/to/stage1dir")
processTestResults("stage2", "path/to/stage2dir")
...
}
}
}
processTestResults хранится вне конвейера {}. И он построен следующим образом:
def processTestResults(String stageName, String testResultsDir) {
try {
if (NAMES_MAP.get(stageName)) {
String directory = "${testResultsDir}/*.xml"
junit directory
}
}
catch (Throwable e) {
e.printStackTrace()
}
}
К сожалению, этот мой подход с заменой пути junit не работает. Сборка Jenkins завершается ошибкой со следующим выводом:
[Pipeline] echo
Input dir for JUnit reports parser doesn't exist...
[Pipeline] echo
Input dir for Collector script doesn't exist...
Может кто-нибудь посоветовать, как я могу заставить его работать?