]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 491748 - Hook for bug creation
authorbbaetz%acm.org <>
Mon, 22 Jun 2009 08:39:05 +0000 (08:39 +0000)
committerbbaetz%acm.org <>
Mon, 22 Jun 2009 08:39:05 +0000 (08:39 +0000)
r/a=mkanat

Bugzilla/Bug.pm
Bugzilla/Hook.pm
extensions/example/code/bug-end_of_create.pl [new file with mode: 0644]

index b66ace54f541e341e43da97dda960ba9c4a7487d..69f27ebac5e505b684b3d26e44e9867f5ba965d2 100644 (file)
@@ -539,6 +539,10 @@ sub create {
     $dbh->do('INSERT INTO longdescs (' . join(',', @columns)  . ")
                    VALUES ($qmarks)", undef, @values);
 
+    Bugzilla::Hook::process('bug-end_of_create', { bug => $bug,
+                                                   timestamp => $timestamp,
+                                                 });
+
     $dbh->bz_commit_transaction();
 
     # Because MySQL doesn't support transactions on the fulltext table,
index a0b14eaa50d225f0b48ce16e8080334bd8a77585..5bc2e7716efb8d68cf010a533990f3d6c28bdc7b 100644 (file)
@@ -222,6 +222,22 @@ your column name(s) onto the array.
 
 =back
 
+=head2 bug-end_of_create
+
+This happens at the end of L<Bugzilla::Bug/create>, after all other changes are
+made to the database. This occurs inside a database transaction.
+
+Params:
+
+=over
+
+=item C<bug> - The changed bug object, with all fields set to their updated
+values.
+
+=item C<timestamp> - The timestamp used for all updates in this transaction.
+
+=back
+
 =head2 bug-end_of_update
 
 This happens at the end of L<Bugzilla::Bug/update>, after all other changes are
diff --git a/extensions/example/code/bug-end_of_create.pl b/extensions/example/code/bug-end_of_create.pl
new file mode 100644 (file)
index 0000000..a7327f1
--- /dev/null
@@ -0,0 +1,35 @@
+# -*- 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 Example Plugin.
+#
+# The Initial Developer of the Original Code is Canonical Ltd.
+# Portions created by Canonical Ltd are Copyright (C) 2009 
+# Canonical Ltd. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+#                 Bradley Baetz <bbaetz@acm.org>
+
+use strict;
+use warnings;
+use Bugzilla;
+
+# This code doesn't actually *do* anything, it's just here to show you
+# how to use this hook.
+my $args = Bugzilla->hook_args;
+my $bug = $args->{'bug'};
+my $timestamp = $args->{'timestamp'};
+
+my $bug_id = $bug->id;
+# Uncomment this line to see a line in your webserver's error log whenever
+# you file a bug.
+# warn "Bug $bug_id has been filed!";