Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带多行字符串Jenkins的参数化远程触发器_Jenkins_Groovy - Fatal编程技术网

带多行字符串Jenkins的参数化远程触发器

带多行字符串Jenkins的参数化远程触发器,jenkins,groovy,Jenkins,Groovy,我有一份詹金斯的工作,它会触发远程工作。这两个作业都有一个多行字符串作为参数。 我无法将参数传递到远程作业。只有输入字符串的第一行被传递到远程作业 不能用多行字符串触发远程作业吗 def parameters = 'ip_range=' params.ip_range.readLines().each{ parameters = parameters + "${it}" + "\n" } parameters = paramete

我有一份詹金斯的工作,它会触发远程工作。这两个作业都有一个多行字符串作为参数。 我无法将参数传递到远程作业。只有输入字符串的第一行被传递到远程作业

不能用多行字符串触发远程作业吗

  def parameters = 'ip_range='
  params.ip_range.readLines().each{
     parameters = parameters + "${it}" + "\n"
  }
  parameters = parameters + "\n"+'remote_branch='+env.BRANCH_NAME
也试过 def参数='ip_range='+params.ip_range+“\n”+'remote_branch='+env.branch_NAME

在这两种情况下,只有第一个值作为参数传递给远程作业

来自任一方法的jenkins作业的控制台输出

  • 参数:[ip_范围=1.2.4.5/20,1.56.23.12/32,远程_分支=21.4.0/INSURECI-203156]
编辑:远程触发器

                        triggerRemoteJob (
                            abortTriggeredJob: true,
                            enhancedLogging: true,
                            job: "some-remote-url/job/ip-range-test/job/${remoteTriggerBranchName}",
                            parameters: parameters,
                            remoteJenkinsName: 'Openshift',
                            useCrumbCache: true,
                            useJobInfoCache: true,
                            maxConn: 5
                        );

它无法正常工作,因为参数化远程触发器插件使用
'\n'
作为参数的分隔符


一种可能的解决方法是创建一个令牌宏,该宏将扩展到新行字符。令牌宏扩展是在参数在
'\n'

上拆分后完成的,显示触发远程控制的代码job@daggett:远程触发器更新问题您必须询问插件developerI将尝试。现在我正在foreach内调用远程作业