summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-06-11 13:44:45 -0700
committerStan Hu <stanhu@gmail.com>2019-06-12 12:55:25 -0700
commitede045820f6dca8cb5dbf37c88635da21620c81e (patch)
treedf3988dd62214da480a3f720c778f2118a4269d3
parentb05de5a583e35931967dcc70d2f26f568c9cf0db (diff)
downloadgitlab-ce-sh-omit-blocked-admins-from-notification.tar.gz
Omit blocked admins from repository check e-mailssh-omit-blocked-admins-from-notification
Blocked admins should not receive notifications about failed repository checks. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/63019
-rw-r--r--app/mailers/repository_check_mailer.rb2
-rw-r--r--changelogs/unreleased/sh-omit-blocked-admins-from-notification.yml5
-rw-r--r--spec/mailers/repository_check_mailer_spec.rb10
3 files changed, 16 insertions, 1 deletions
diff --git a/app/mailers/repository_check_mailer.rb b/app/mailers/repository_check_mailer.rb
index a24d3476d0e..aa56ba1828b 100644
--- a/app/mailers/repository_check_mailer.rb
+++ b/app/mailers/repository_check_mailer.rb
@@ -15,7 +15,7 @@ class RepositoryCheckMailer < BaseMailer
end
mail(
- to: User.admins.pluck(:email),
+ to: User.admins.active.pluck(:email),
subject: "GitLab Admin | #{@message}"
)
end
diff --git a/changelogs/unreleased/sh-omit-blocked-admins-from-notification.yml b/changelogs/unreleased/sh-omit-blocked-admins-from-notification.yml
new file mode 100644
index 00000000000..82c5505892f
--- /dev/null
+++ b/changelogs/unreleased/sh-omit-blocked-admins-from-notification.yml
@@ -0,0 +1,5 @@
+---
+title: Omit blocked admins from repository check e-mails
+merge_request: 29507
+author:
+type: fixed
diff --git a/spec/mailers/repository_check_mailer_spec.rb b/spec/mailers/repository_check_mailer_spec.rb
index 384660f7221..3dce89f5be2 100644
--- a/spec/mailers/repository_check_mailer_spec.rb
+++ b/spec/mailers/repository_check_mailer_spec.rb
@@ -12,6 +12,16 @@ describe RepositoryCheckMailer do
expect(mail).to deliver_to admins.map(&:email)
end
+ it 'omits blocked admins' do
+ blocked = create(:admin, :blocked)
+ admins = create_list(:admin, 3)
+
+ mail = described_class.notify(1)
+
+ expect(mail.to).not_to include(blocked.email)
+ expect(mail).to deliver_to admins.map(&:email)
+ end
+
it 'mentions the number of failed checks' do
mail = described_class.notify(3)