現在、Choiceパラメーターを使用して、以下のようなドロップダウンにホスト名を入力しています。
選択した値をプロパティに含めています。
Server=%Hostname%
また、ビルド後も同じように呼び出していますactions-->Email Notification-->Subject-->Login
成功$Hostname
。
しかし、私の要件は、ドロップダウンの代わりに、server1、server2、server3のチェックボックスオプションが必要です。これにより、一度に複数のサーバーを選択してジョブをビルドできます。
また、プロパティと電子メールの件名にホスト名を含める必要があります。ただし、電子メールの件名には実際のホスト名(サーバー)を含めるべきではなく、別の名前にする必要があります。
まあ言ってみれば、
server1 = DEV
server2 = QA
プロパティは「server1」の値を取り、電子メールの件名は「DEV」をとる必要があります。
Extended Choice Parameterプラグインを使用しようとしていますが、行き詰まっているので、助けていただければ幸いです。
拡張選択パラメータプラグインはそのような要件に対応する方法です。以下に示すように、ドロップダウンリストからExtended Choice Parameter
を選択する必要があります。
そのオプションを選択すると、以下のスナップショットに示すように、Parameter Type
という名前の別のドロップダウンが表示されます。そのドロップダウンからMulti Select
を選択します。 Value
ボックスにサーバー名を入力します。カンマ(、)は区切り文字です。
これで、1つ(または複数)のサーバーを選択した後に* nixシステムでコマンドecho "Server: $Hostname"
を実行すると、選択したすべてのサーバーがコマンド出力に表示されます。
ここで、実際のサーバー名の代わりにDev/QAなどの名前を表示するというクエリに対処するには、明らかにある程度のスクリプトを実行する必要があります。サーバー名を文字列で取得しているため、最初に文字列を分割区切り文字としてコンマ(、)を使用する個々の値(サーバー)をフェッチするにする必要があります。次に、各サーバーをチェックして値を割り当てる必要があります。 pseudo次のようなコード:
if ( str eq server1 ) {
Host = QA;
} elsif ( str eq server 2 ) {
Host = Dev;
} and so on...
私はPerlで同様のスクリプトを数回書きました。選択した言語(bash、batchなど)を使用できます
メールなどの件名にこれらの変数を渡すには、Slavの提案に従って EnvInject Plugin を使用する必要があります。 if ... elseコードの実行中に、値(QA/Dev)をファイルに書き込んで、後でEnvInjectプラグインで使用できるようにすることができます。念のため、別の方法が必要な場合は、使用しているフレーバーに応じて、システムのmailコマンドを使用できます。
拡張選択パラメータを使用すると、「パラメータタイプ」と呼ばれる値を選択することにより、ドロップダウン/複数選択/チェックボックス/ラジオボタンを切り替えることができます。それが表示されない場合は、おそらくそのプラグインの非常に古いバージョンがあります。
質問の2番目の部分については、スクリプトでそのマッピングを行う必要があります。 EnvInject を使用して挿入します。 =プラグイン、そしてあなたの電子メールで注入された値を使用します