我有3个版本: A - 是控制流程的Master构建 B- Anoter构建 C-将在B之后执行 我想在A中添加一个String参数,以便用户手动输入一些String,我不知道如何将此参数路由到B. 让我们说这是我的构建流程:
构建(" B&#34) 建立(" C&#34) 我不知道如何将参数传递给B,如果我从构建流程或B构建配置中执行此操作,我该怎么做。
提前致谢 亚历
答案 0 :(得分:3)
这样的事情:
build("B", B_parameter: params["A_parameter"])<br>
build("C")
https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin
答案 1 :(得分:2)
一种方法是使用参数化触发器插件:https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
这允许您使用但不限于:
触发其他作业* a set of predefined properties
* properties from a properties file read from the workspace of the triggering build
* the parameters of the current build
使用Build A,B和C,你可以将th3m设置为参数化构建(即要求参数值)。这是一个靠近作业配置页面开头的设置。例如,要获取名为MY_ID
的参数。现在可以在构建A中以$ MY_ID访问它。
现在,当您构建A时,它会提示MY_ID。然后在作业A中添加构建步骤以触发&#34; B&#34;使用参数,并将它传递给构建A的所有参数。现在构建B也将具有在运行构建A时设置的参数$ MY_ID。
答案 2 :(得分:2)
Parameterized Trigger Plugin正是您要找的。有关如何将参数从主构建传递到子构建的详细信息,请在this链接中查看我的答案。
答案 3 :(得分:1)
哇哇,所以经过几个小时的游戏&#34;这个方程式中缺少哪个插件?&#34;,结果发现这些答案都没有起作用,因为jenkins更改名为SECURITY-170。
如果您按照此回答中的步骤操作并且未转发参数,请转到此other Stack Overflow answer,其中提供了有关问题的详细信息。如果您感觉太懒,只想确认SECURITY-170是问题的症结所在,您可以尝试使用 临时 解决方案,因为它不会重启后坚持:
Run
按钮:System.setProperty("hudson.model.ParametersAction.keepUndefinedParameters", "true")
如果这对您有用,您可以查看this answer我收集了另一个问题,但我建议您在尝试之前先阅读问题和我的答案背景。
答案 4 :(得分:0)
这是我的管道(Master Build A)脚本,用于将参数传递给子作业(Child Build B)
$where = ' WHERE '.$where;
我配置了
- mainpath和mainrevision作为管道作业参数,
- srcpath和revision作为子作业参数