我正在使用"参数化触发插件"来触发儿童作业。我使用的是"来自属性文件的参数"one_answers"使用文件中的属性",需要将文件的名称作为变量传递...我收到此错误。
[parameterized-trigger] Properties file $propeties_file did not exist.
在此处输入图像描述
如果单击?
,您将看到属性文件的使用/语法:
逗号分开的绝对或相对途径的文件列表 包含新项目的参数。相对路径是 起源于工作区。该文件应具有键=值对, 每行(Java属性文件格式)。反斜线用于 逃脱,因此请使用" \"进行单个后挡。当前构建 可以用:$ {param}使用牧室和/或环境变量 或$ param。
因此,您的文件需要存在,您应该将文件路径放在将$properties_file
放置的位置 - 我不相信它会接受变量,您应该将文件名放入其中。
示例管道使用属性文件
的参数触发参数化构建pipeline {
agent any
stages {
stage('S1') {
steps {
echo 'In S1'
sh '''
echo "param1=value1" > my.properties
echo "param2=value2" >> my.properties
'''
}
}
stage('s2'){
steps {
script {
def props = readProperties file:"${WORKSPACE}/my.properties"
build job: 'called_job', parameters: props.collect {string(name: it.key, value: it.value)}
}
}
}
}
}