SVN::Notify::HTML - Subversion activity HTML notification
Use svnnotify in post-commit:
svnnotify --repos-path "$1" --revision "$2" \ --to developers@example.com --handler HTML [options]
Use the class in a custom script:
use SVN::Notify::HTML; my $notifier = SVN::Notify::HTML->new(%params); $notifier->prepare; $notifier->execute;
This subclass of SVN::Notify sends HTML formatted email messages for Subversion activity, rather than the default plain text.
In addition to the modules required by SVN::Notify, this class requires:
To use SVN::Notify::HTML, simply follow the instructions in SVN::Notify, but when using svnnotify, specify --handler HTML.
--handler HTML
my $notifier = SVN::Notify->new(%params);
Constructs and returns a new SVN::Notify object. All parameters supported by SVN::Notity are supported here, but SVN::Notify::HTML supports a few additional parameters:
svnnotify --linkize
A boolean attribute to specify whether or not to "linkize" the SVN log message--that is, to turn any URLs or email addresses in the log message into links.
Returns the content type of the notification message, "text/html". Used to set the Content-Type header for the message.
$notifier->start_body($file_handle);
This method starts the body of the notification message. It outputs the opening <html>, <head>, <style>, and <body> tags. Note that if the language attribute is set to a value, it will be specified in the <html> tag.
<html>
<head>
<style>
<body>
language
$notifier->output_css($file_handle);
This method starts outputs the CSS for the HTML message. It is called by start_body(), and which wraps the output of output_css() in the appropriate <style> tags.
start_body()
output_css()
$notifier->output_metadata($file_handle);
This method outputs a definition list containting the metadata of the commit, including the revision number, author (user), and date of the revision. If the svnweb_url or viewcvs_url attribute has been set, then the appropriate URL for the revision will be used to turn the revision number into a link.
svnweb_url
viewcvs_url
$notifier->output_log_message($file_handle);
Outputs the commit log message in <pre> tags, and the label "Log Message" in <h3> tags. If the bugzilla_url attribute is set, then any strings like "Bug 2" or "bug # 567" will be turned into links.
<pre>
<h3>
bugzilla_url
Outputs the lists of modified, added, deleted, files, as well as the list of files for which properties were changed as unordered lists. The labels used for each group are pulled in from the file_label_map() class method and output in <h3> tags.
file_label_map()
$notifier->end_body($file_handle);
Closes out the body of the email by outputting the closing </body> and </html> tags. Designed to be called when the body of the message is complete, and before any call to output_attached_diff().
</body>
</html>
output_attached_diff()
$notifier->output_diff($out_file_handle, $diff_file_handle);
Sends the output of svnlook diff to the specified file handle for inclusion in the notification message. The diff is output between <pre> tags, and Each line of the diff file is escaped by HTML::Entities::encode_entities(). The diff data will be read from $diff_file_handle and printed to $out_file_handle.
svnlook diff
HTML::Entities::encode_entities()
$diff_file_handle
$out_file_handle
David Wheeler <david@kineticode.com>
Copyright (c) 2004-2005 Kineticode, Inc. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install SVN::Notify, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SVN::Notify
CPAN shell
perl -MCPAN -e shell install SVN::Notify
For more information on module installation, please visit the detailed CPAN module installation guide.