我使用参数化构建插件来触发一系列4个作业。作业1设置为"在其他项目上触发参数化构建"。它调用作业B并从属性文件中设置一个参数,并将其中一个设置为预定义。
作业B将两个输入参数定义为字符串参数,作业找到两个参数并且运行正常。作业B设置为"在其他项目"上触发参数化构建,并调用作业C.作业C被参数化以接收相同的两个参数。
但是,Job C永远不会获得任何参数。在作业B中,我尝试传递当前构建参数,我尝试设置预定义参数(类型为var1 = $ {var1},甚至设置myTestVar = hello),但在Job中找不到任何参数下进行。
Job A是maven build,Job B是自由式,C是Maven,D是自由式(如果我到达那里)。
我使用的是Jenkins 1.623和参数化构建插件2.27。
我在这里不知所措。有什么想法吗?
答案 0 :(得分:0)
好吧,我建议您执行以下步骤来解决此问题:
Parameters
以查看作业B是否传入了参数。如果那些参数不存在,那么您可能需要检查作业中的参数化构建触发器配置B看看它是否配置正确。echo
在shell脚本中打印参数,以查看是否可以在控制台日志中看到该参数。例如,echo $foo
。System.getenv()
来获取环境变量。例如,def foo = System.getenv()["foo"]
。