日中はネットワーク トラフィックが多いため、Jenkins ビルドの多くは夕方と夜間に実行する必要があります。レポート、壊れたビルドの通知などを含むメールが送信されます。ただし、夕方や夜間に開発者にメールを送信したくありません。すべてのメールをキューに入れ、たとえば 8 ~ 17 時間の営業時間内に送信することはできますか? そのため、ビルドが夜間に中断した場合、メールは午前 8 時に送信されます。
2 に答える
残念ながら、私の知る限り、メール送信を遅らせるプラグインはありません。ただし、email-ext プラグインのスクリプト機能を試すことができるかもしれません。テンプレートで JS または Groovy スクリプトを使用できます。このようなスクリプトでは、電子メールの送信を午前 8 時に「待機」するループを記述できます。
しかし、個人的には、私はその考えが好きではありません。それを達成するための実際には良い方法ではありません。さらに、ビルドの最終結果が午前 8 時まで待たされることは確かです (ビルドは、メールが効果的に送信された後にのみ終了します)。 . これには、ジョブが Jenkins ジョブ キューの 1 つの場所に配置され、別のジョブをブロックする可能性があるという欠点もあります...
独自のプラグインを開発する (たとえば、mail-ext プラグインを fork することによって) ほうがよい考えかもしれません...
私のアイデアを広めさせてください。
また、ジェンキンスを介してそれを達成するための既存の機能についても知りません。プラグインはおそらく最良の方法でしょう (公開されている他の人にとって有益である可能性があります)。
私の頭に浮かぶ代替ソリューションは、電子メールサーバーを制御できる状況にある場合であり、それが目標を達成する場所でもある可能性があります。
SMTP(使用するサーバーに基づく)に関しては、解決策があるかもしれません。ここで提供されている解決策 (キューのみのモードでの sendmail) が役立つ可能性があります。