将变量从 Pre 步骤传递到 Maven Jenkins 作业中的构建步骤

Pass variable from Pre step to Build Step in Maven Jenkins Job

我有一个运行 pom.xml 文件的 Maven 作业,其中包含我提供的一些目标,如下所示:

现在我想在这个作业“Run_Failed_Cases_Only”中添加一个单选按钮参数,如果用户选择这个,那么我想传递 testng-failed.xml 文件而不是 testng.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 项目作业后,select选项此项目已参数化 来自常规选项卡。如果未安装可扩展选择插件,请安装它,然后您可以在 This project is parametrized

中找到相同的插件

请在下面找到屏幕截图。

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

或者,您也可以使用生成器选择参数此项目已参数化以获得结果。

请找截图。

然后,您可以根据选择使用具体条件。

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

然后将此参数用作 POM 中的变量,如下所示: