GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
RT::Extension::CommandByMail(3) User Contributed Perl Documentation RT::Extension::CommandByMail(3)

RT::Extension::CommandByMail - Change ticket metadata via email

Works with RT 4.0, 4.2, 4.4

    (Send email with content that looks like the following.)

    Status: stalled
    Subject: change subject
    AddAdminCc: boss@example.com
    AddCc: dev1@example.com
    AddCc: dev2@example.com

    The comment/reply text goes here

For users of versions of this extension prior to 3.0: Please note that now you will not receive an unknown command error email for unknown commands. There will be a warning in the logs whenever an unknown command is encountered. A setting was added to restore the previous behavior. See the setting $CommandByMailErrorOnUnknown under "Configuration" for more information.

"perl Makefile.PL"
"make"
"make install"
May need root permissions
Edit your /opt/rt4/etc/RT_SiteConfig.pm
If you are using RT 4.2 or greater, add this line:

    Plugin('RT::Extension::CommandByMail');
    

For RT 4.0, add this line:

    Set(@Plugins, qw(RT::Extension::CommandByMail));
    

or add "RT::Extension::CommandByMail" to your existing @Plugins line.

For RT 4.2 or older, also add "Filter::TakeAction" to your @MailPlugins configuration, as follows:

    Set(@MailPlugins, qw(Auth::MailFrom Filter::TakeAction));
    

For RT 4.4 or newer, the plugin code is in "Action::CommandByMail", so add this:

    Set(@MailPlugins, qw(Auth::MailFrom Action::CommandByMail));
    

Be sure to include "Auth::MailFrom" in the list as well.

Note: The plugin name has changed for RT 4.4, so after upgrading you must also update your "RT_SiteConfig.pm" file to change "Filter::TakeAction" to the new "Action::CommandByMail".

Patch RT
For RT 4.4.0, apply the included patch:

    cd /opt/rt4  # Your location may be different
    patch -p1 < /download/dir/RT-Extension-CommandByMail/etc/handle_action_pass_currentuser.patch
    
Restart your webserver

In addition to adding the configuration above to activate the extension in RT, the following options are available.

You may set a $CommandByMailGroup to a particular group ID in RT_SiteConfig. If set, only members of this group may perform commands by mail.

You may set this configuration value to the name of a header to examine as well. For example:

    Set($CommandByMailHeader, "X-RT-Command");

If set, the body will not be examined, only the header defined by the previous configuration option.

Prior to 2.02, this extension throws an error if it finds an unknown command. This is no longer the case. Setting this option will restore that legacy behavior.

This extension is incompatible with "UnsafeEmailCommands" RT option.

This extension allows you to manage ticket metadata via email. You may put commands into the beginning of an email, and the extension will apply them. The list of commands is detailed below.

CAVEAT: commands are line oriented, so you can't expand to multiple lines for each command, i.e. values can't contains new lines. The module also currently expects and parses text, not HTML.

This extension parses the body, and optionally a header, in incoming messages for commands to update ticket metadata. The format of commands is:

    Command: value
    Command: value
    ...

You can find list of "COMMANDS" below.

Some commands (like Status, Queue and other) can be used only once. Commands that manage lists can be used multiple times, for example link, custom fields and watchers commands. Also, the latter can be used with "Add" and "Del" prefixes to add/delete values from the current list of the ticket you reply to or comment on.

Basic
Queue: <name>
Set new queue for the ticket
Subject: <string>
Set new subject to the given string
Status: <status>
Set new status, one of new, open, stalled, resolved, rejected or deleted
Owner: <username>
Set new owner using the given username
Priority: <#>
Set new priority to the given value
FinalPriority: <#>
Set new final priority to the given value

Dates

Set new date/timestamp, or 0 to unset:

    Due: <new timestamp>
    Starts: <new timestamp>
    Started: <new timestamp>

Time

Set new times to the given value in minutes. Note that on correspond/comment "TimeWorked" add time to the current value.

    TimeWorked: <minutes>
    TimeEstimated: <minutes>
    TimeLeft: <minutes>

Watchers

Manage watchers: requestors, ccs and admin ccs. This commands can be used several times and/or with "Add" and "Del" prefixes, for example "Requestor" comand set requestor(s) and the current requestors would be deleted, but "AddRequestor" command adds to the current list.

    Requestor: <address> Set requestor(s) using the email address
    AddRequestor: <address> Add new requestor using the email address
    DelRequestor: <address> Remove email address as requestor
    Cc: <address> Set Cc watcher(s) using the email address
    AddCc: <address> Add new Cc watcher using the email address
    DelCc: <address> Remove email address as Cc watcher
    AdminCc: <address> Set AdminCc watcher(s) using the email address
    AddAdminCc: <address> Add new AdminCc watcher using the email address
    DelAdminCc: <address> Remove email address as AdminCc watcher

Links

Manage links. These commands are also could be used several times in one message.

    DependsOn: <ticket id>
    DependedOnBy: <ticket id>
    RefersTo: <ticket id>
    ReferredToBy: <ticket id>
    Members: <ticket id>
    MemberOf: <ticket id>

Custom field values

Manage custom field values. Could be used multiple times. (The curly braces are literal.)

    CustomField.{<CFName>}: <custom field value>
    AddCustomField.{<CFName>}: <custom field value>
    DelCustomField.{<CFName>}: <custom field value>

Short forms:

    CF.{<CFName>}: <custom field value>
    AddCF.{<CFName>}: <custom field value>
    DelCF.{<CFName>}: <custom field value>

Transaction Custom field values

Manage custom field values of transactions. Could be used multiple times. (The curly braces are literal.)

    TransactionCustomField.{<CFName>}: <custom field value>

Short forms:

    TxnCustomField.{<CFName>}: <custom field value>
    TransactionCF.{<CFName>}: <custom field value>
    TxnCF.{<CFName>}: <custom field value>

This extension has no extended auth system; so all security issues that apply to the RT in general also apply to the extension.

This method provides the main email processing functionality. It supports both RT 4.2 and earlier and 4.4 and later. To do this, the return hashes contain some values used by 4.2 code and some used by 4.4. The return values coexist and unused values are ignored by the different versions.

For 4.4, returning "{ DeferToRT => 1 }" invokes the normal RT mail processing flow. This allows CommandByMail to pass on processing an email message for cases like a user not being a member of "CommandByMailGroup".

Takes a hash containing QueueObj, Head and CurrentUser objects. Returns a list of all email addresses in the To and Cc headers b<except> the current Queue's email addresses, the CurrentUser's email address and anything that the configuration sub RT::IsRTAddress matches.

Best Practical Solutions, LLC <modules@bestpractical.com>

All bugs should be reported via email to

    L<bug-RT-Extension-CommandByMail@rt.cpan.org|mailto:bug-RT-Extension-CommandByMail@rt.cpan.org>

or via the web at

    L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-CommandByMail>.

This software is Copyright (c) 2014 by Best Practical Solutions

This is free software, licensed under:

  The GNU General Public License, Version 2, June 1991
2016-09-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.