【发布时间】:2012-08-30 22:40:12
【问题描述】:
RT4 允许新的 CustomField 包含经过验证的 ipv4 或 ipv6 地址,并且还允许多个值。这允许我拥有一个“IP 地址”自定义字段,其中包含多个票证地址。
我似乎无法获得一个scrip 可以接受来自电子邮件的多个地址(或任何correspond 事件),只能接受一个地址。
我使用的scrip 是一个自定义操作,如下所示:
my $Ticket = $self->TicketObj;
my $Transaction = $self->TransactionObj;
my $body = $Transaction->Content();
my $cf = new RT::CustomField($RT::SystemUser);
my $id;
my $msg;
my $queue = 'Testes';
#---IPS
if($body =~ /X-addresses\:(.*)\n/i){
my $iplist = $1;
($id,$msg) = $cf->LoadByNameAndQueue (Name=>'addresses', Queue=>$queue);
($id,$msg) = $Ticket->AddCustomFieldValue (Field => $cf, Value =>$iplist);
}
return(1);
我不反对被告知我这样做是错误的;我的 RT 安装目前的做法是让 Web 表单提交请求,目前该请求将有一个 IP 地址字段,该字段由类似的scrip 拾取(除了 x-fqdn、x-contact、x-OS、以及正在收集的其他信息),我在想一个逗号分隔的混合 ipv4、ipv6 列表可以在一行中被捕获,只要 RT 的地址解析器验证它,我们就可以开展业务。
任何建议都将不胜感激,除了那些将我引导到可怕的 BestPractical wiki 的建议,我已经梳理了每一个风滚草缠身的页面,但都是空的。
【问题讨论】:
-
这看起来像 perl。如果是这样,如果您添加 perl 标签,您可能会得到更多响应。
-
好的,我对此很好奇,但不确定当地的习俗。
-
如果灰熊
perl的巫师变得焦躁不安,我可以毫无问题地将标签拉出来。我不想成为垃圾邮件。 -
我注意到您使用术语“脚本”而不是“脚本”。这是故意的吗?
-
是的,RT 使用一系列
scrips 对票证上的交易执行各种逻辑。我不知道该术语的起源或它的细微差别,但我通常将它们视为“处方”。它们更像是procmail配方或sieve规则,而不是您通常认为的脚本。