我有一个jenkins工作,有一个post build任务。 post构建任务是一个正则表达式。如果遇到它的正则表达式条件,我想做一个参数化的远程触发器来触发另一个jenkins构建。从post build task我看到正则表达式条件可以触发脚本。是否可以触发parameterized remote trigger?
基本上,如果从第一次构建满足正则表达式条件,我只想进行第二次构建。我不希望有一个执行CURL的脚本来实现它。还有其他办法吗?
答案 0 :(得分:0)
我使用Post-Build Groovy Plugin实现了这一目标。您可以在Jenkins中的作业配置的Post-build Actions下选择它。我的groovy脚本在原始作业的构建日志上执行正则表达式。如果满足正则表达式条件,则会触发新构建。
以下是Groovy插件的示例:
def job = Hudson.instance.getJob('MyJobName')
def anotherBuild
try {
def params = [
new StringParameterValue('FOO', foo),
]
def future = job.scheduleBuild2(0, new Cause.UpstreamCause(build), new ParametersAction(params))
println "Waiting for the completion of " + HyperlinkNote.encodeTo('/' + job.url, job.fullDisplayName)
anotherBuild = future.get()
} catch (CancellationException x) {
throw new AbortException("${job.fullDisplayName} aborted.")
}