cbw*_*rts 6 cron dsl crontrigger jenkins jenkins-job-dsl
我正在尝试使用 jenkins job dsl 添加参数化的 cron 作业。但是,每次我尝试添加作业时都会看到以下错误:
No signature of method: javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.parameterizedTimerTrigger() is applicable
for argument types: (com.manh.cp.jenkins.script$_createJob_closure3$_closure6$_closure9) values:
[com.manh.cp.jenkins.script$_createJob_closure3$_closure6$_closure9@4f7fa1a2]
Run Code Online (Sandbox Code Playgroud)
我都尝试过:
triggers {
parameterizedCron('''H 20 * * * %var=a''')
}
Run Code Online (Sandbox Code Playgroud)
和
triggers {
parameterizedTimerTrigger {
parameterizedSpecification('H 20 * * * %var=a')
}
}
Run Code Online (Sandbox Code Playgroud)
这对其他人还有效吗
参数化调度程序 v0.8 作业 dsl v1.76
也许你应该先安装插件:
https://plugins.jenkins.io/parameterized-scheduler/
然后你可以使用 DSL 脚本:
pipelineJob('test') {
// ...
parameters {
textParam('MYVAR',
'1',
'Test parameter'
)
choiceParam('MYCHOICE',
['A',
'B',
],
'Test choice param'
)
}
properties {
pipelineTriggers {
triggers {
parameterizedTimerTrigger {
parameterizedSpecification('''
H 18 * * * %MYVAR=1; MYCHOICE=A;
H 18 * * * %MYVAR=2; MYCHOICE=B;
''')
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意Jenkinsfiles 中的语法不同:
pipeline {
// ...
parameters {
text name: 'MYVAR',
description: 'Test parameter',
defaultValue: '1'
choice name: 'MYCHOICE',
choices: ['A', 'B',],
description: 'Test choice param'
}
triggers {
parameterizedCron('''
H 18 * * * %MYVAR=1; MYCHOICE=A;
H 18 * * * %MYVAR=2; MYCHOICE=B;
''')
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2059 次 |
| 最近记录: |