2017-05-19 122 views

回答

1

,对不对?

这需要将作业名称作为参数,而不是URL。因此引发了一个名为测试作业,请

build 'test' 

这似乎寻找一个参数化的工作,也许是因为你给了多个参数?请更精确地使用您的示例代码以及作业名称是什么(是否在另一个文件夹中)?

+0

感谢它为我工作! – Vin

2

如果您正在使用流水线插件,你想建立一个参数化的工作,你可以这样做:

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

+0

感谢您的回应 - 为我制作''货物管线ci声明''为我工作 – Vin

2

如果你真的只是想通过发布火由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 
相关问题