Start jenkins job immediately after creation by seed job
我可以从作业dsl中开始作业,如下所示:
queue('my-job')
但是如何使用参数或参数开始工作?我想以某种方式通过这项工作。
答案 0 :(得分:0)
Afaik,你不能。
但是您可以做的是从管道中创建它(jobDsl步骤),然后运行它。或多或少像...
pipeline {
stages {
stage('jobs creation') {
steps {
jobDsl targets: 'my_job.dsl',
additionalParameters: [REQUESTED_JOB_NAME: "my_job's_name"]
build job: "my_job's_name",
parameters: [booleanParam(name: 'DRY_RUN', value: true)]
}
}
}
}
准系统使用“ my_job.dsl” ...
pipelineJob(REQUESTED_JOB_NAME) {
definition {
// blah...
}
}
注意::如您所见,我从调用管道中显式设置了作业的名称(REQUESTED_JOB_NAME变量),因为否则我不知道如何制作jobDSL代码以返回名称它创建的作业返回到调用管道。
我使用此“技巧”来避免“工作参数落后” 问题。我使用工作的DRY_RUN参数(实际上,我使用了隐藏的参数)来运行“ no-thing” 编译,顾名思义,所以当其他人需要使用该工作时, “真实物品” 的params部分已经正确解析。