Skip to content

Commit

Permalink
Update version and support files for release
Browse files Browse the repository at this point in the history
  • Loading branch information
cbrandtbuffalo committed Mar 29, 2016
1 parent a402bd5 commit b6f86dc
Show file tree
Hide file tree
Showing 5 changed files with 164 additions and 34 deletions.
3 changes: 3 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
2.00 2016-03-29
- Refactor to add support for RT 4.4

1.00 2014-12-15
- Packaging and documentation updates

Expand Down
5 changes: 3 additions & 2 deletions MANIFEST
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Changes
etc/handle_action_pass_currentuser.patch
inc/Module/AutoInstall.pm
inc/Module/Install.pm
inc/Module/Install/AuthorTests.pm
Expand All @@ -15,10 +16,10 @@ inc/Module/Install/RTx/Runtime.pm
inc/Module/Install/Substitute.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
inc/unicore/Name.pm
inc/YAML/Tiny.pm
lib/RT/Extension/CommandByMail.pm
lib/RT/Extension/CommandByMail/Test.pm
lib/RT/Extension/CommandByMail/Test.pm.in
lib/RT/Interface/Email/Action/CommandByMail.pm
lib/RT/Interface/Email/Filter/TakeAction.pm
Makefile.PL
MANIFEST This list of files
Expand Down
9 changes: 5 additions & 4 deletions META.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
abstract: 'Change metadata of ticket via email'
abstract: 'Change ticket metadata via email'
author:
- 'Best Practical Solutions, LLC <modules@bestpractical.com>'
build_requires:
Expand All @@ -10,14 +10,15 @@ configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
dynamic_config: 1
generated_by: 'Module::Install version 1.12'
generated_by: 'Module::Install version 1.16'
license: gpl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: RT-Extension-CommandByMail
no_index:
directory:
- etc
- inc
- xt
package:
Expand All @@ -26,6 +27,6 @@ requires:
perl: 5.8.3
resources:
license: http://opensource.org/licenses/gpl-license.php
version: '1.00'
x_module_install_rtx_version: '0.36'
version: '2.00'
x_module_install_rtx_version: '0.37'
x_requires_rt: 4.0.0
175 changes: 148 additions & 27 deletions README
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
NAME
RT::Extension::CommandByMail - Change metadata of ticket via email
RT::Extension::CommandByMail - Change ticket metadata via email

RT VERSION
Works with RT 4.0, 4.2, 4.4

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

Status: stalled
Subject: change subject
AddAdminCc: boss@example.com
Expand All @@ -10,20 +15,6 @@ SYNOPSIS

The comment/reply text goes here

DESCRIPTION
This extension allows you to manage tickets via email interface. You may
put commands into the beginning of a mail, and extension will apply
them. See the list of commands in the
RT::Interface::Email::Filter::TakeAction docs.

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.

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

INSTALLATION
perl Makefile.PL
make
Expand All @@ -41,15 +32,148 @@ INSTALLATION

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

Regardless of which version of RT, also Filter::TakeAction to your
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

DESCRIPTION
This extension allows you to manage tickets via email interface. 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.

FORMAT
This extension parses the body and headers of incoming messages for list
commands. Format of commands is:

Command: value
Command: value
...

You can find list of "COMMANDS 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.

COMMANDS
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>

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

CONFIGURATION
$CommandByMailGroup
You may set a $CommandByMailGroup to a particular group ID in
Expand All @@ -65,20 +189,17 @@ CONFIGURATION
$CommandByMailOnlyHeaders
If set, the body will not be examined, only the headers.

COMMANDS
This extension parses the body and headers of incoming messages for list
commands. Format of commands is:

Command: value
Command: value
...

See the list of commands in the RT::Interface::Email::Filter::TakeAction
docs.

CAVEATS
This extension is incompatible with UnsafeEmailCommands RT option.

METHODS
ProcessCommands
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.

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

Expand Down
6 changes: 5 additions & 1 deletion lib/RT/Extension/CommandByMail.pm
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,16 @@ our @LINK_ATTRIBUTES = qw(MemberOf Parents Members Children
HasMember RefersTo ReferredToBy DependsOn DependedOnBy);
our @WATCHER_ATTRIBUTES = qw(Requestor Cc AdminCc);

our $VERSION = '1.00';
our $VERSION = '2.00';

=head1 NAME
RT::Extension::CommandByMail - Change ticket metadata via email
=head1 RT VERSION
Works with RT 4.0, 4.2, 4.4
=head1 SYNOPSIS
(Send email with content that looks like the following.)
Expand Down

0 comments on commit b6f86dc

Please sign in to comment.