【问题标题】:Request Tracker: Notify Previous Owner请求跟踪器:通知以前的所有者
【发布时间】:2014-01-28 04:54:06
【问题描述】:

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

似乎有一个扩展允许这样做,但它不支持 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。

【问题讨论】:

  • 你提到扩展不支持 RT 4.2。你试过了吗?您看到了哪些错误或日志消息?
  • 用日志编辑帖子(链接到更易读的格式:pastebin.com/r4g5NAS7
  • 找不到您的 RT 安装。尝试将 RTHOME 环境变量设置为您的 RT 基本目录,通常是 /opt/rt4。
  • 非常感谢,我需要添加:RTHOME=/opt/rt4 perl Makefile.PL 而不是 perl Makefile.PL

标签: perl request owner tracker rt


【解决方案1】:

您可以通过脚本和模板来实现。脚本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。 p>

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}>.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2021-02-06
    相关资源
    最近更新 更多