diff options
author | myk%mozilla.org <> | 2004-09-21 09:58:32 +0200 |
---|---|---|
committer | myk%mozilla.org <> | 2004-09-21 09:58:32 +0200 |
commit | d95f60f3b44a40d935fb8f5d22c7be41ae8463ed (patch) | |
tree | fc7659b5aebf6f4ceea849969c34e2dcc66e3edb | |
parent | 7928733a1ec2a408a889d1ef9f1dfc7eb7704242 (diff) | |
download | bugzilla-d95f60f3b44a40d935fb8f5d22c7be41ae8463ed.tar.gz bugzilla-d95f60f3b44a40d935fb8f5d22c7be41ae8463ed.tar.xz |
Fix for bug 245075: command-line script that sends bug mail so installations can push bug mail out if it's been missed by the code that sends mail when changes are made; written by Dave Miller
-rw-r--r-- | contrib/sendunsentbugmail.pl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/contrib/sendunsentbugmail.pl b/contrib/sendunsentbugmail.pl new file mode 100644 index 000000000..ffe892e08 --- /dev/null +++ b/contrib/sendunsentbugmail.pl @@ -0,0 +1,51 @@ +#!/usr/bin/perl -wT +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Netscape Communications +# Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All +# Rights Reserved. +# +# Contributor(s): Dave Miller <justdave@bugzilla.org> +# Myk Melez <myk@mozilla.org> + +use strict; + +use lib qw(.); + +require "CGI.pl"; +use Bugzilla::Constants; +use Bugzilla::BugMail; + +SendSQL("SELECT bug_id FROM bugs WHERE lastdiffed < delta_ts AND + delta_ts < date_sub(now(), INTERVAL 30 minute) ORDER BY bug_id"); +my @list; +while (MoreSQLData()) { + push (@list, FetchOneColumn()); +} + +if (scalar(@list) > 0) { + print "OK, now attempting to send unsent mail\n"; + print scalar(@list) . " bugs found with possibly unsent mail.\n\n"; + foreach my $bugid (@list) { + my $start_time = time; + print "Sending mail for bug $bugid...\n"; + my $outputref = Bugzilla::BugMail::Send($bugid); + my ($sent, $excluded) = (scalar(@{$outputref->{sent}}),scalar(@{$outputref->{excluded}})); + print "$sent mails sent, $excluded people excluded.\n"; + print "Took " . (time - $start_time) . " seconds.\n\n"; + } + print "Unsent mail has been sent.\n"; +} |