5

目前我正在使用 Choice 参数在下拉列表中输入主机名,如下所示。

  • 服务器1
  • 服务器2
  • 服务器3

我在属性中包含选定的值。

Server=%Hostname%

我也在后期构建actions-->Email Notification-->Subject-->Login成功中调用相同的$Hostname.

但我的要求不是下拉菜单,而是需要一个用于 server1、server2 和 server3 的复选框选项,以便我可以一次选择多个服务器并构建作业。

我还需要在属性和电子邮件主题中包含主机名。但电子邮件主题不应包含实际的主机名(服务器),而必须是不同的名称。

比方说,

server1 = DEV
server2 = QA

该属性应采用“server1”值,电子邮件主题应采用“DEV”。

我正在尝试使用扩展选择参数插件,但我被卡住了,所以任何帮助将不胜感激!

4

2 回答 2

5

扩展选择参数插件是满足这种要求的方式。您需要Extended Choice Parameter从下拉列表中进行选择,如下所示。

在此处输入图像描述

选择该选项后,您将看到另一个下拉菜单,其名称Parameter Type如下面的快照所示。Multi Select从该下拉列表中选择。Value在框中输入服务器名称。逗号 ( , ) 是分隔符

在此处输入图像描述

现在,如果您echo "Server: $Hostname"在选择一台(或多台)服务器后在 *nix 系统上运行该命令,您将在命令输出中获得所有选定的服务器。

现在要解决显示名称(例如 Dev/QA)而不是实际服务器名称的查询,您显然必须编写一些脚本。由于您在字符串中获取服务器名称,因此您首先必须使用逗号 (,) 作为分隔符拆分字符串以获取单个值 (servers)。然后您将检查每台服务器并为其分配值。伪代码如:

if ( str eq server1 ) {
    host = QA;
} elsif ( str eq server 2 ) {
    host = Dev;
} and so on...

我用 Perl 写了一个类似的脚本。您可以使用您选择的语言(bash、批处理等)

要在邮件等的主题行中传递这些变量,您必须按照 Slav 的建议使用EnvInject 插件。您可以在运行if...else代码时在某个文件中写入值(QA/Dev),以便以后 EnvInject 插件可以使用它。以防万一,如果您想要另一种方式,您可以根据您的风格简单地使用系统的邮件命令。

于 2014-08-21T14:05:50.280 回答
0

使用扩展选择参数,您可以通过选择名为“参数类型”的值在下拉/多选/复选框/单选按钮之间进行切换。如果你没有看到,你可能有一个非常旧的插件版本。

至于你问题的第二部分:你将不得不在你的脚本中进行映射,使用EnvInject插件注入它,然后在你的电子邮件中使用注入的值

于 2014-08-21T14:00:33.993 回答