RT::Extension::ExtractCustomFieldValues - extract CF values from email headers or body
ExtractCustomFieldValues provides an "ExtractCustomFieldValues" scrip action, which can be used to scan incoming emails to set values of custom fields.
perl Makefile.PL
make
make install
May need root permissions
make initdb
Only run this the first time you install this module.
If you run this twice, you may end up with duplicate data in your database.
If you are upgrading this module, check for upgrading instructions in case changes need to be made to your database.
If you are using RT 4.2 or greater, add this line:
Plugin('RT::Extension::ExtractCustomFieldValues');
For RT 4.0, add this line:
Set(@Plugins, qw(RT::Extension::ExtractCustomFieldValues));
or add RT::Extension::ExtractCustomFieldValues to your existing @Plugins line.
RT::Extension::ExtractCustomFieldValues
@Plugins
To use the ScripAction, create a Template and a Scrip in RT. Your new Scrip should use a ScripAction of 'Extract Custom Field Values'. The Template consists of the lines which control the scanner. All non-comment lines are of the following format:
<cf-name>|<Headername>|<MatchString>|<Postcmd>|<Options>
where:
The name of a custom field (must be created in RT). If this field is blank, the match will be run and Postcmd will be executed, but no custom field will be updated. Use this if you need to execute other RT code based on your match.
Either a Name of an email header, "body" to scan the body of the email or "headers" to search all of the headers.
A regular expression to find a match in the header or body. If the MatchString matches a comma separated list and the CF is a multi-value CF then each item in the list is added as a separate value.
Perl code to be evaluated on $value, where $value is either $1 or full match text from the match performed with <MatchString>
$value
A string of letters which may control some aspects. Possible options include:
Don't record a transaction when adding the custom field value
The MatchString regex should contain _two_ capturing groups, the first of which is the CF name, the second of which is the value. If this option is given, the <cf-name> field is ignored. (Supercedes '+'.)
The MatchString regex will be applied with the /g option and all matching values will be added to the CF, which should probably be a multi-value CF for best results. (Superceded by '*'.)
You can change the separator string (initially "\|") during the template with:
Separator=<anyregexp>
Changing the separator may be necessary, if you want to use a "|" in one of the patterns in the controlling lines.
An example template with some further examples is installed during make initdb. See the CustomFieldScannerExample template for examples and further documentation.
Best Practical Solutions, LLC <modules@bestpractical.com>
Based on code by Dirk Pape <pape@inf.fu-berlin.de>.
All bugs should be reported via email to
L<bug-RT-Extension-ExtractCustomFieldValues@rt.cpan.org|mailto:bug-RT-Extension-ExtractCustomFieldValues@rt.cpan.org>
or via the web at
L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-ExtractCustomFieldValues>.
This software is Copyright (c) 2007-2014 by Best Practical Solutions, LLC.
This is free software, licensed under:
The GNU General Public License, Version 2, June 1991
To install RT::Extension::ExtractCustomFieldValues, copy and paste the appropriate command in to your terminal.
cpanm
cpanm RT::Extension::ExtractCustomFieldValues
CPAN shell
perl -MCPAN -e shell install RT::Extension::ExtractCustomFieldValues
For more information on module installation, please visit the detailed CPAN module installation guide.