0

当有人偷票时,我希望能够向以前的所有者发送电子邮件,目前使用 Request Tracker 我可以向新所有者发送电子邮件,但不能向以前的所有者发送电子邮件。

似乎有一个扩展允许这样做,但它不支持 RT 4.2(我使用的是 4.2.1): http://metacpan.org/pod/RT::Extension:: NotifyOwners

如果有人进行了此设置或正在使用 RT 4.2 上的扩展程序,我们将不胜感激。我很确定您可以通过自定义操作来做到这一点,但我在这方面没有足够的知识。

日志中的错误:

root@WEBSVR01:/home/steven# cpanm RT::Extension::NotifyOwners
--> 处理 RT::Extension::NotifyOwners
获取 http://www.cpan.org/authors/id/I/ID/IDN/RT-Extension-NotifyOwners-0.02.tar.gz ...好的
配置 RT-Extension-NotifyOwners-0.02 ... N/A
!RT-Extension-NotifyOwners-0.02 配置失败。有关详细信息,请参阅 /root/.cpanm/work/1390880978.19447/build.log。
root@WEBSVR01:/home/steven# tail /root/.cpanm/work/1390880978.19447/build.log
解压 RT-Extension-NotifyOwners-0.02.tar.gz
进入 RT-Extension-NotifyOwners-0.02
从 META.yml 检查配置依赖项
检查您是否有 ExtUtils::MakeMaker 6.42 ... 是 (6.82)
配置 RT-Extension-NotifyOwners-0.02
运行 Makefile.PL
在以下位置找不到定义 $RT::LocalPath 的 RT.pm 的位置:inc /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/sh are/perl/5.14.2 /usr/ lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl 。/opt/ rt3/lib /opt/lib/rt3 /opt/lib /usr/local/rt3/lib /usr/local/lib/rt3 /usr/local/lib /home/rt3/lib /home/lib/rt3 /home/lib /usr/rt3/lib /usr/lib/rt3 /usr/lib /sw/rt3/lib /sw/lib/rt3 /sw/lib
包含您的 RT.pm 的目录路径:
-> 不适用
-> FAIL RT-Extension-NotifyOwners-0.02 配置失败。有关详细信息,请参阅 /root/.cpanm/work/1390880978.19447/build.log。
4

1 回答 1

0

您可以通过脚本和模板来实现。脚本On Steal Notify Old Owner应该是这样的:

my $field = $self->TransactionObj->Field;
my $type = $self->TransactionObj->Type;

return 0 unless defined($field);
return 0 unless $field eq 'Owner';
return 0 unless $type eq 'Set';
return 0 if $self->TransactionObj->OldValue == $self->TransactionObj->Creator;

return 1 if $self->TransactionObj->OldValue != RT::Nobody()->id();

return 0;

脚本的条件应该是User defined动作应该是Notify Other Recipients,例如模板Stolen Ticket

Perl 模板Stolen Ticket将是例如这个:

To: {my $user = new RT::User($RT::SystemUser);
$user->Load($Transaction->OldValue); $user->EmailAddress() || $Transaction->OldValue}
Subject: [{$rtname } #{ $Ticket->Id() }] Stolen: { $Ticket->Subject() }

URL: https://rt.example.com/rt/Ticket/Display.html?id={ $Ticket->id }

A ticket you owned:
  { $Ticket->Subject() }

has been taken by {$Ticket->OwnerObj->RealName} <{$Ticket->OwnerObj->EmailAddress}>.
于 2017-06-06T12:18:09.433 回答