如何动态触发jenkins的下游构建?

我们想动态地触发詹金斯中不同下游版本中的集成测试。我们有一个参数化的集成测试项目,该项目将测试名称作为参数。我们从git repo动态确定测试名称。

我们有一个父项目,该项目使用jenkins-cli为源代码中发现的每个测试启动集成项目的构建。父项目和集成项目通过匹配的指纹相关联。

这种方法的问题是汇总测试结果不起作用。我认为问题在于“下游”集成测试是通过jenkins-cli启动的,因此jenkins并未意识到它们是在下游。

我看过许多jenkins插件来尝试使它工作。Join和Parameterized

Trigger插件无济于事,因为它们希望生成静态的项目列表。可用于参数化触发器的参数工厂也不起作用,因为没有工厂可以创建任意参数列表。日志触发器插件将无法使用。

Groovy Postbuild插件看起来应该可以工作,但是我不知道如何从中触发构建。

回答:

def job = hudson.model.Hudson.instance.getJob("job")

def params = new StringParameterValue('PARAMTEST', "somestring")

def paramsAction = new ParametersAction(params)

def cause = new hudson.model.Cause.UpstreamCause(currentBuild)

def causeAction = new hudson.model.CauseAction(cause)

hudson.model.Hudson.instance.queue.schedule(job, 0, causeAction, paramsAction)

这终于对我有用。

以上是 如何动态触发jenkins的下游构建? 的全部内容, 来源链接: utcz.com/qa/405107.html

回到顶部