在Maven Jenkins Job中将变量从Pre步骤传递到Build步骤

问题描述

我有一个maven作业,运行一个pom.xml文件,其目标如下:

  • Pom文件:pom.xml
  • 目标:测试-DsuiteName = testng.xml

现在,我想在此作业“ Run_Failed_Cases_Only”中添加一个单选按钮参数,如果用户选择此参数,那么我想传递testng-Failed.xml文件而不是testng.xml。如下所示:

  • Pom文件:pom.xml
  • 目标:test -DsuiteName = testng-Failed.xml

所以我要问的是,如果有什么方法可以使用Windows批处理命令步骤,它将检查是否选择了“ Run_Failed_Cases_Only”,然后根据以下条件将变量$ goals传递给构建步骤:

if(Run_Failed_Cases_Only is selected)
  $goals = "test -DsuiteName=testng-Failed.xml" 
else 
  $goals = test -DsuiteName=testng.xml

然后我将在目标文本框中使用此变量。

解决方法

创建Maven项目作业后,从“常规”选项卡中选择选项此项目已参数化。如果未安装可扩展选择插件,请安装它,然后在该项目已参数化

中找到相同的插件。

请在下面找到屏幕截图。

enter image description here

然后,您可以根据选择参数使用特定条件。

OR

或者,您也可以使用已对项目进行参数化中提供的发电机选择参数来获取结果。

请找到屏幕截图。

enter image description here

enter image description here

然后,您可以根据选择使用特定条件。

,

通过使用扩展选择参数并提供如下不同的显示名称和值来解决此问题:

enter image description here

enter image description here

然后将该参数用作POM中的变量,如下所示: enter image description here