如何动态触发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