我试图通过一个常规列表变量倾城詹金斯管道脚本插件。我需要在诱惑的结果列表是动态的。所以,我已经想出了解决方案:
的代码示例:
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产生-c -o的/ var / lib中/詹金斯/就业/工作名/工作区/吸引力报告
22点52分11秒的诱惑力,结果不存在
2)结果: “$ {}的结果”
异常java.lang.IllegalArgumentException异常被抛出
一个修正应该可以肯定的是如下进行:改线
results = results + [path: "${ALLURE_DIR}/${dir}"]
到以下
results += [path: " ${ALLURE_DIR}/${dir}"]
注意之后的“空间
除了它,一切正常,请尝试回来与更详细的错误,如果有任何
设法找到了一个错误。我已记入目录的绝对路径,这是不正确 - 倾城是在当前工作目录中寻找他们。更改工作目录已经解决的问题。