Jenkins Job DSL:在作业步骤中使用 groovyScript 中的参数
Jenkins Job DSL: Using parameters in groovyScript in job step
对于我的构建作业 "generated-job-1" 我需要几个参数,这些参数在通过 URL.
触发构建(generated-job-1)时传入
这是我的工作定义,在 SeedJob DSL 中带有参数:
job('generated-job-1'){
label ('master')
parameters{
stringParam('DEPLOY_URI', 'https://192.168.200.176/hyperManager', 'Provide the URL where DeploymentManager can be accessed.')
stringParam('REG_ID', '12', 'The id of the owner (Registration) of this deployment.')
}
steps {
groovyCommand(readFileFromWorkspace('stepscript.groovy')){
prop('name', 'value')
prop('DEPLOY_URI', $DEPLOY_URI)
}
}
}
我尝试使用 DEPLOY_URI、$DEPLOY_URI 和 ${DEPLOY_URI},但构建失败并显示不同的错误消息,例如
没有 属性: DEPLOY_URI for class: javaposse.jobdsl.dsl.helpers.step.GroovyContext
或
错误:(脚本,第 12 行)没有这样的 属性:class 的 $DEPLOY_URI:javaposse.jobdsl.dsl.helpers.step.GroovyContext
或
错误:(脚本,第 12 行)没有方法签名:javaposse.jobdsl.dsl.helpers.step.GroovyContext.$() 适用于参数类型:(script$_run_closure1$_closure3$_closure4$_closure5) 值:[script$_run_closure1$_closure3$_closure4$_closure5@1a11cf0]
- 如何定义这些参数并将其传递给我的步骤-script.groovy?
- 如何在其他步骤中使用这些参数,例如 shell 或 batchFile?
- 如何在我的步骤中访问这些参数-script.groovy,以处理给定的数据?
我现在搜索了一段时间并努力让它工作......没有成功。
非常感谢帮助,因为我是 Job DSL 和 Groovy 的新手。
提前致谢,
安妮
您需要将变量名放在引号中,以便在执行生成的作业时对其进行评估,而不是在 DSL 脚本运行时进行评估。
job('generated-job-1') {
parameters {
stringParam('DEPLOY_URI', '...', '...')
}
steps {
groovyCommand(readFileFromWorkspace('stepscript.groovy')) {
prop('DEPLOY_URI', '$DEPLOY_URI')
}
}
}
对于我的构建作业 "generated-job-1" 我需要几个参数,这些参数在通过 URL.
触发构建(generated-job-1)时传入这是我的工作定义,在 SeedJob DSL 中带有参数:
job('generated-job-1'){
label ('master')
parameters{
stringParam('DEPLOY_URI', 'https://192.168.200.176/hyperManager', 'Provide the URL where DeploymentManager can be accessed.')
stringParam('REG_ID', '12', 'The id of the owner (Registration) of this deployment.')
}
steps {
groovyCommand(readFileFromWorkspace('stepscript.groovy')){
prop('name', 'value')
prop('DEPLOY_URI', $DEPLOY_URI)
}
}
}
我尝试使用 DEPLOY_URI、$DEPLOY_URI 和 ${DEPLOY_URI},但构建失败并显示不同的错误消息,例如 没有 属性: DEPLOY_URI for class: javaposse.jobdsl.dsl.helpers.step.GroovyContext
或 错误:(脚本,第 12 行)没有这样的 属性:class 的 $DEPLOY_URI:javaposse.jobdsl.dsl.helpers.step.GroovyContext
或 错误:(脚本,第 12 行)没有方法签名:javaposse.jobdsl.dsl.helpers.step.GroovyContext.$() 适用于参数类型:(script$_run_closure1$_closure3$_closure4$_closure5) 值:[script$_run_closure1$_closure3$_closure4$_closure5@1a11cf0]
- 如何定义这些参数并将其传递给我的步骤-script.groovy?
- 如何在其他步骤中使用这些参数,例如 shell 或 batchFile?
- 如何在我的步骤中访问这些参数-script.groovy,以处理给定的数据?
我现在搜索了一段时间并努力让它工作......没有成功。
非常感谢帮助,因为我是 Job DSL 和 Groovy 的新手。
提前致谢, 安妮
您需要将变量名放在引号中,以便在执行生成的作业时对其进行评估,而不是在 DSL 脚本运行时进行评估。
job('generated-job-1') {
parameters {
stringParam('DEPLOY_URI', '...', '...')
}
steps {
groovyCommand(readFileFromWorkspace('stepscript.groovy')) {
prop('DEPLOY_URI', '$DEPLOY_URI')
}
}
}