Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
874ac9ff
Commit
874ac9ff
authored
Nov 06, 2008
by
mkanat%bugzilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 451269: Add example code for bug-end_of_update and flag-end_of_update hooks.
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=mkanat
parent
c4c473b9
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
98 additions
and
0 deletions
+98
-0
bug-end_of_update.pl
extensions/example/code/bug-end_of_update.pl
+56
-0
flag-end_of_update.pl
extensions/example/code/flag-end_of_update.pl
+42
-0
No files found.
extensions/example/code/bug-end_of_update.pl
0 → 100644
View file @
874ac9ff
# -*- 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 Everything Solved, Inc.
# Portions created by Everything Solved are Copyright (C) 2008
# Everything Solved, Inc. All Rights Reserved.
#
# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
use
strict
;
use
warnings
;
use
Bugzilla
;
use
Bugzilla::
Status
;
# 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
$changes
=
$args
->
{
'changes'
};
foreach
my
$field
(
keys
%
$changes
)
{
my
$used_to_be
=
$changes
->
{
$field
}
->
[
0
];
my
$now_it_is
=
$changes
->
{
$field
}
->
[
1
];
}
my
$status_message
;
if
(
my
$status_change
=
$changes
->
{
'bug_status'
})
{
my
$old_status
=
new
Bugzilla::
Status
({
name
=>
$status_change
->
[
0
]
});
my
$new_status
=
new
Bugzilla::
Status
({
name
=>
$status_change
->
[
1
]
});
if
(
$new_status
->
is_open
&&
!
$old_status
->
is_open
)
{
$status_message
=
"Bug re-opened!"
;
}
if
(
!
$new_status
->
is_open
&&
$old_status
->
is_open
)
{
$status_message
=
"Bug closed!"
;
}
}
my
$bug_id
=
$bug
->
id
;
my
$num_changes
=
scalar
keys
%
$changes
;
my
$result
=
"There were $num_changes changes to fields on bug $bug_id"
.
" at $timestamp."
;
# Uncomment this line to see $result in your webserver's error log whenever
# you update a bug.
# warn $result;
extensions/example/code/flag-end_of_update.pl
0 → 100644
View file @
874ac9ff
# -*- 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 Everything Solved, Inc.
# Portions created by Everything Solved are Copyright (C) 2008
# Everything Solved, Inc. All Rights Reserved.
#
# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
use
strict
;
use
warnings
;
use
Bugzilla
;
use
Bugzilla::
Util
qw(diff_arrays)
;
# 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
,
$timestamp
,
$old_flags
,
$new_flags
)
=
@$args
{
qw(bug timestamp old_flags new_flags)
};
my
(
$removed
,
$added
)
=
diff_arrays
(
$old_flags
,
$new_flags
);
my
(
$granted
,
$denied
)
=
(
0
,
0
);
foreach
my
$new_flag
(
@$added
)
{
$granted
++
if
$new_flag
=~
/\+$/
;
$denied
++
if
$new_flag
=~
/-$/
;
}
my
$bug_id
=
$bug
->
id
;
my
$result
=
"$granted flags were granted and $denied flags were denied"
.
" on bug $bug_id at $timestamp."
;
# Uncomment this line to see $result in your webserver's error log whenever
# you update flags.
# warn $result;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment