web-dev-qa-db-ja.com

チェックボックスにExtendedChoiceParameterプラグインを使用する方法

現在、Choiceパラメーターを使用して、以下のようなドロップダウンにホスト名を入力しています。

  • server1
  • server2
  • server3

選択した値をプロパティに含めています。

Server=%Hostname%

また、ビルド後も同じように呼び出していますactions-->Email Notification-->Subject-->Login成功$Hostname

しかし、私の要件は、ドロップダウンの代わりに、server1、server2、server3のチェックボックスオプションが必要です。これにより、一度に複数のサーバーを選択してジョブをビルドできます。

また、プロパティと電子メールの件名にホスト名を含める必要があります。ただし、電子メールの件名には実際のホスト名(サーバー)を含めるべきではなく、別の名前にする必要があります。

まあ言ってみれば、

server1 = DEV
server2 = QA

プロパティは「server1」の値を取り、電子メールの件名は「DEV」をとる必要があります。

Extended Choice Parameterプラグインを使用しようとしていますが、行き詰まっているので、助けていただければ幸いです。

5
Arjun

拡張選択パラメータプラグインはそのような要件に対応する方法です。以下に示すように、ドロップダウンリストからExtended Choice Parameterを選択する必要があります。

enter image description here

そのオプションを選択すると、以下のスナップショットに示すように、Parameter Typeという名前の別のドロップダウンが表示されます。そのドロップダウンからMulti Selectを選択します。 Valueボックスにサーバー名を入力します。カンマ()は区切り文字です。

enter image description here

これで、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コマンドを使用できます。

6
Technext

拡張選択パラメータを使用すると、「パラメータタイプ」と呼ばれる値を選択することにより、ドロップダウン/複数選択/チェックボックス/ラジオボタンを切り替えることができます。それが表示されない場合は、おそらくそのプラグインの非常に古いバージョンがあります。

質問の2番目の部分については、スクリプトでそのマッピングを行う必要があります。 EnvInject を使用して挿入します。 =プラグイン、そしてあなたの電子メールで注入された値を使用します

0
Slav