EmailNotification: $build -> $topbuild, $b -> $build (perlcritic)
[?]
Aug 21, 2021, 1:35 AM
G6TPSF2746JT5XQAUREDXQ4R2G4BUYOMHIBJ4VGMRPAB4INHEP7ACDependencies
- [2]
J4C4V6GLCheck if we want to send email for a build before iterating through its users - [3]
BFLNBJW4Only email responsible authors when the build has changed - [4]
CLBOP44WAdd a hydra.conf option to enable email notification - [5]
6HWIUOSUAvoid fetching Projects/Jobsets just to get the name column - [6]
Z6JLDTRWFix typos - [7]
N5AS7EKYInclude who-broke-the-build information in notification emails - [8]
K3HODXGHCheck all inputs for blame but only email selected inputs - [9]
BLVQGJ4LUse OO-style plugins - [10]
RX5IIZMTUse Email::MIME instead of Email::Simple - [11]
SRRNCD4WEmail responsible authors if requested - [12]
RPTSGIRCEliminate duplicate getPreviousBuild functions - [13]
E6SL7QRUOmit the system type if it's part of the job name - [14]
QDJRQIFFIf multiple dependent builds fail, send a single email - [15]
LDICTHWYUse Template::Toolkit to generate email messages - [16]
5EQYVRWEAdd a plugin mechanism - [17]
5WNGKHLZPlugins: Add isEnabled method
Change contents
- replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 49
my ($self, $build, $dependents) = @_;my ($self, $topbuild, $dependents) = @_; - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 51
die unless $build->finished;die unless $topbuild->finished; - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 57
foreach my $b ($build, @{$dependents}) {my $prevBuild = getPreviousBuild($b);foreach my $build ($topbuild, @{$dependents}) {my $prevBuild = getPreviousBuild($build); - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 61
next unless $b->jobset->enableemail;next unless $build->jobset->enableemail; - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 64
next if $b->buildstatus == 4 || $b->buildstatus == 3;next if $build->buildstatus == 4 || $build->buildstatus == 3; - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 68
next if defined $prevBuild && ($b->buildstatus == $prevBuild->buildstatus);next if defined $prevBuild && ($build->buildstatus == $prevBuild->buildstatus); - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 71
my $to = $b->jobset->emailoverride ne "" ? $b->jobset->emailoverride : $b->maintainers;my $to = $build->jobset->emailoverride ne "" ? $build->jobset->emailoverride : $build->maintainers; - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 77
push @{$addresses{$address}->{builds}}, $b;push @{$addresses{$address}->{builds}}, $build; - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 81
my ($authors, $nrCommits, $emailable_authors) = getResponsibleAuthors($build, $self->{plugins});my ($authors, $nrCommits, $emailable_authors) = getResponsibleAuthors($topbuild, $self->{plugins}); - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 83
my $prevBuild = getPreviousBuild($build);my $prevBuild = getPreviousBuild($topbuild); - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 85
((!defined $prevBuild) || ($build->buildstatus != $prevBuild->buildstatus))) {((!defined $prevBuild) || ($topbuild->buildstatus != $prevBuild->buildstatus))) { - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 88
$addresses{$_} = { builds => [ $build ] } foreach (@{$emailable_authors});$addresses{$_} = { builds => [ $topbuild ] } foreach (@{$emailable_authors}); - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 99
{ build => $build, prevBuild => getPreviousBuild($build), dependents => [grep { $_->id != $build->id } @builds]{ build => $topbuild, prevBuild => getPreviousBuild($topbuild), dependents => [grep { $_->id != $topbuild->id } @builds] - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 103
, showSystem => index($build->get_column('job'), $build->system) == -1, showSystem => index($topbuild->get_column('job'), $topbuild->system) == -1 - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 116
showStatus($build) . ": Hydra job " . showJobName($build). ($vars->{showSystem} ? " on " . $build->system : "")showStatus($topbuild) . ": Hydra job " . showJobName($topbuild). ($vars->{showSystem} ? " on " . $topbuild->system : "") - replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 122
[ 'X-Hydra-Project' => $build->get_column('project'),, 'X-Hydra-Jobset' => $build->get_column('jobset'),, 'X-Hydra-Job' => $build->get_column('job'),, 'X-Hydra-System' => $build->system[ 'X-Hydra-Project' => $topbuild->get_column('project'),, 'X-Hydra-Jobset' => $topbuild->get_column('jobset'),, 'X-Hydra-Job' => $topbuild->get_column('job'),, 'X-Hydra-System' => $topbuild->system