对于我的构建作业“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用于类:javaposse.jobdsl.dsl.helpers.step.GroovyContext
或 错误:(脚本,第12行)没有这样的属性:$ DEPLOY_URI for class:javaposse.jobdsl.dsl.helpers.step.GroovyContext
或 错误:(脚本,第12行)没有方法签名:javaposse.jobdsl.dsl.helpers.step.GroovyContext。$()适用于参数类型:(脚本$ _run_closure1 $ _closure3 $ _closure4 $ _closure5)值:[script $ _run_closure1 $ $ _closure3 $ _closure4 @ _closure5 1a11cf0]
我现在搜索了一段时间并努力让它工作......没有成功。
帮助非常感谢,因为我是Job DSL和Groovy的新手。
提前致谢, 安
答案 0 :(得分:0)
您需要将变量名称放在引号中,以便在执行生成的作业时对其进行评估,而不是在DSL脚本运行时进行评估。
job('generated-job-1') {
parameters {
stringParam('DEPLOY_URI', '...', '...')
}
steps {
groovyCommand(readFileFromWorkspace('stepscript.groovy')) {
prop('DEPLOY_URI', '$DEPLOY_URI')
}
}
}