目前我正在使用Choice参数在下拉列表中输入主机名。
我在属性中包含选定的值。
Server=%Hostname%
此外,我在actions-->Email Notification-->Subject-->Login
的帖子构建$Hostname
成功中调用了相同的内容。
但我的要求是取而代之的是下拉菜单我需要一个server1,server2和amp;的复选框选项。 server3,以便我可以一次选择多个服务器并构建作业。
此外,我需要在属性和电子邮件主题中包含主机名。但电子邮件主题不应包含实际的主机名(服务器),而必须是不同的名称。
让我们说,
server1 = DEV
server2 = QA
该属性应采用“server1”值,并且电子邮件suject应采用“DEV”。
我正在尝试使用扩展选择参数插件,但我被卡住了,所以任何帮助都会非常感激!
答案 0 :(得分:5)
扩展选择参数插件是满足此类要求的方法。您需要从下拉列表中选择Extended Choice Parameter
,如下所示。
选择该选项后,您会看到另一个名称为Parameter Type
的下拉列表,如下面的快照所示。从该下拉列表中选择Multi Select
。在Value
框中输入服务器名称。逗号(,)是分隔符。
现在,如果在选择一个(或多个)服务器后在* nix系统上运行命令echo "Server: $Hostname"
,您将在命令输出中获得所有选定的服务器。
现在,为了解决显示名称(例如Dev / QA而不是实际服务器名称)的问题,您显然必须执行一些脚本编写。由于您使用字符串中的服务器名称,因此首先必须使用逗号(,)作为分隔符 拆分字符串以获取单个值(服务器)。然后你将检查每个服务器并为其分配值。 伪代码,例如:
if ( str eq server1 ) {
host = QA;
} elsif ( str eq server 2 ) {
host = Dev;
} and so on...
我在Perl写了一个类似的脚本。您可以使用您选择的语言(bash,batch etc。)
要在邮件的主题行中传递这些变量,您必须按照Slav的建议使用EnvInject Plugin。您可以在运行 if ... else 代码时在某个文件中写入值(QA / Dev),以便以后可以由EnvInject插件使用。以防万一,如果您想要一种替代方式,您可以根据您的风格简单地使用系统的邮件命令。
答案 1 :(得分:0)
使用扩展选择参数,您可以通过选择名为"参数类型"的值来在下拉/多选/复选框/单选按钮之间切换。如果您没有看到,那么您可能拥有该插件的旧版本。
关于问题的第二部分:您将不得不在脚本中进行映射,使用EnvInject插件注入,然后在电子邮件中使用注入的值