5

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

  • サーバー1
  • サーバー2
  • サーバー3

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

Server=%Hostname%

actions-->Email Notification-->Subject-->Loginまた、ビルド後の成功でも同じことを呼び出してい$Hostnameます。

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

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

まあ言ってみれば、

server1 = DEV
server2 = QA

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

Extended Choice Parameter プラグインを使用しようとしていますが、行き詰っています。

4

2 に答える 2

5

Extended Choice Parameterプラグインは、このような要件を満たす方法です。Extended Choice Parameter以下に示すように、ドロップダウン リストから選択する必要があります。

ここに画像の説明を入力

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

ここに画像の説明を入力

echo "Server: $Hostname"1 つ (または複数) のサーバーを選択した後に *nix システムでコマンドを実行すると、選択したすべてのサーバーがコマンド出力に表示されます。

実際のサーバー名の代わりに Dev/QA などの名前を表示するクエリに対処するには、明らかにある程度のスクリプトを作成する必要があります。サーバー名を文字列で取得しているため、最初にカンマ (,) を区切り文字として使用して文字列を分割し、個々の値 (サーバー) を取得する必要があります。そして、各サーバーをチェックして値を割り当てる必要があります。次のような擬似コード:

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

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

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

于 2014-08-21T14:00:33.993 に答える