我想通过groovy调用另一个Jenkins构建作业,我该怎么做。我试图与包括像下面,但没有运气我如何从Groovy脚本调用另一个jenkins构建作业
build 'job url'
但有你在谈论jenkins-pipeline的build
步错误
ERROR: No parameterized job named
我想通过groovy调用另一个Jenkins构建作业,我该怎么做。我试图与包括像下面,但没有运气我如何从Groovy脚本调用另一个jenkins构建作业
build 'job url'
但有你在谈论jenkins-pipeline的build
步错误
ERROR: No parameterized job named
,对不对?
这需要将作业名称作为参数,而不是URL。因此引发了一个名为测试作业,请
build 'test'
这似乎寻找一个参数化的工作,也许是因为你给了多个参数?请更精确地使用您的示例代码以及作业名称是什么(是否在另一个文件夹中)?
如果您正在使用流水线插件,你想建立一个参数化的工作,你可以这样做:
Supose你有一个“声纳审查”布尔参数:
build job: 'cargo-pipeline-ci-declarative', parameters: [booleanParam(name: 'sonar-review', value: false)]
在你不案”需要吨至建立一个没有参数的工作:
你可以这样做:
build ''cargo-pipeline-ci-declarative''
确保已安装:
https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
感谢您的回应 - 为我制作''货物管线ci声明''为我工作 – Vin
如果你真的只是想通过发布火由URL一份工作,你可以这样做使用到
http://server/job/myjob/buildWithParameters?PARAMETER=Value
看到parameterized-builds了解详情。
只要通过groovy有几种方法可以做到这一点。既然你特意问了groovy,请看Groovy plugin,它提供了关于如何触发另一个构建的例子。
您也可以使用jobs-dsl-plugin。但是管道工作流正在逐步淘汰。
因此,我建议您使用multibranch pipeline plugin,它允许您将代码编写为Jenkinsfile中的代码,并且构建会自动触发您存储库中的任何分支。只需简单地创建一个多分支管道作业并将您的SCM设置到您的存储库。然后任何在项目根目录中带有Jenkinsfile的分支都会自动生成。
使用多分支管道插件的一个好处是它提供snippet generator这将为您生成代码。这对学习语法以及如何自己编写代码很有帮助。
最后,解决您的实际问题。您不提供网址,而是提供您想要触发的作业的名称。
您还需要考虑默认值。例如,下面我触发一个名为jobName
的作业,在启动jobName
之前将等待10秒钟,即使触发作业执行了,我的上游作业也不会失败,并且我的上游作业不会等待触发作业完成完成。再次请参阅片段生成器了解详细信息。
build job: 'jobName', propagate: false, quietPeriod: 10, wait: false
感谢它为我工作! – Vin