summaryrefslogtreecommitdiffstats
path: root/scripts/sendunsentbugmail.pl
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2015-07-06 21:21:04 +0200
committerDavid Lawrence <dkl@mozilla.com>2015-07-06 21:21:04 +0200
commitb758be1d37cb49ced8cb17fca3d5a4cb2dd2e03e (patch)
tree01d7b7c5a5fcd5dddc0ed4adc55a60917ce70bce /scripts/sendunsentbugmail.pl
parentf70d4ce7e0a94379bb901559109650874946c84b (diff)
downloadbugzilla-b758be1d37cb49ced8cb17fca3d5a4cb2dd2e03e.tar.gz
bugzilla-b758be1d37cb49ced8cb17fca3d5a4cb2dd2e03e.tar.xz
Bug 1172968: Move the scripts we want to keep from contrib/* and place them in scripts/ directory. Remove contrib from repo
Diffstat (limited to 'scripts/sendunsentbugmail.pl')
-rwxr-xr-xscripts/sendunsentbugmail.pl60
1 files changed, 60 insertions, 0 deletions
diff --git a/scripts/sendunsentbugmail.pl b/scripts/sendunsentbugmail.pl
new file mode 100755
index 000000000..eeee41ced
--- /dev/null
+++ b/scripts/sendunsentbugmail.pl
@@ -0,0 +1,60 @@
+#!/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 5.10.1;
+use strict;
+use lib qw(. lib);
+
+use Bugzilla;
+use Bugzilla::Constants;
+use Bugzilla::BugMail;
+
+my $dbh = Bugzilla->dbh;
+
+my $list = $dbh->selectcol_arrayref(
+ 'SELECT bug_id FROM bugs
+ WHERE lastdiffed IS NULL
+ OR lastdiffed < delta_ts
+ AND delta_ts < '
+ . $dbh->sql_date_math('NOW()', '-', 30, 'MINUTE') .
+ ' ORDER BY bug_id');
+
+if (scalar(@$list) > 0) {
+ say "OK, now attempting to send unsent mail";
+ say scalar(@$list) . " bugs found with possibly unsent mail.\n";
+ foreach my $bugid (@$list) {
+ my $start_time = time;
+ say "Sending mail for bug $bugid...";
+ my $outputref = Bugzilla::BugMail::Send($bugid);
+ if ($ARGV[0] && $ARGV[0] eq "--report") {
+ say "Mail sent to:";
+ say $_ foreach (sort @{$outputref->{sent}});
+ }
+ else {
+ my $sent = scalar @{$outputref->{sent}};
+ say "$sent mails sent.";
+ say "Took " . (time - $start_time) . " seconds.\n";
+ }
+ }
+ say "Unsent mail has been sent.";
+}