如何从后期构建任务中执行参数化远程触发器?

时间:2016-12-20 22:52:16

标签: jenkins jenkins-plugins

我有一个jenkins工作,有一个post build任务。 post构建任务是一个正则表达式。如果遇到它的正则表达式条件,我想做一个参数化的远程触发器来触发另一个jenkins构建。从post build task我看到正则表达式条件可以触发脚本。是否可以触发parameterized remote trigger

基本上,如果从第一次构建满足正则表达式条件,我只想进行第二次构建。我不希望有一个执行CURL的脚本来实现它。还有其他办法吗?

1 个答案:

答案 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.")
}