Hello RT-Users,<br><br>To recap what I wrote about in this thread before was:<br>- An incident report comes in...<br>- If it has at least one IP address in the _RTIR_IP field do EITHER:<br>-- Link to an existing incident by IP address *OR*<br>
-- Create a new incident<br><br>(The goal is to automatically group Incident Reports by IP address instead of doing it manually.)<br><br>Ruslan wrote back saying:<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
It's totally doable with scrips. RTIR itself has a lot of examples<br>
with bits you need. Basicly you need:<br><br>
When IR is created with and IP is set or when IP is changed from no<br>
value to a value, link to existing incident or create a new one. First<br>
part is a condition and second part is an action.<br><br>
For example lib/RT/Condition/RTIR_<div id=":5v">BlockActivation.pm is quite close.<br>
Checks whether ticket is created with active state or state is changed<br>
to active.<br>
<br>
Action is not that straightforward, but try it and if you have<br>
problems return back to us with detailed questions.</div></blockquote>

<br><br>OK lets talk about the Condition first...<br><br>Is this enough to trigger the condition?<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">my $self = shift;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">my $txn = $self->TransactionObj;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">my $type = $txn->Type;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">return 1 if $type eq 'Create'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  && ($self->TicketObj->FirstCustomFieldValue('_RTIR_IP'));</span><br>
<br>The other thing is the action... I really don't know where to start on the action.  I know its going to be lengthy though because there's some checks has to do itself to decide what the exact course of action will be.  <br>
<br>Here's what it should do, I think:<br>- foreach IP address in _RTIR_IP<br>-- Look for an Incident that contains that IP address<br>-- When it finds one, LINK to that Incident<br>-- If it does not find one, create a new Incident<br>
<br>There will probably need to be a list of exclusions somewhere.  For example if someone does a lookup on a domain we host and sends a complaint about it they might sent the domain name, the IP address it resolves to as well as the IP address of our name server.  I wouldn't want every report that contained the IP address our name server linked to a common Incident.  <br>
<br>Also there's a what if here...  What if they report two IP addresses that already each have an Incident created for them.  Would I merge them all together into one Incident?  <br><br>Any ideas on where to start writing the action and reviewing the condition above would be appreciated.  On or off list is fine with me.<br>
<br>Thank you!<br><br>-- <br>Landon Stewart <<a href="mailto:LStewart@SUPERB.NET" target="_blank">LStewart@SUPERB.NET</a>><br>SuperbHosting.Net by Superb Internet Corp.<br>Toll Free (US/Canada): 888-354-6128 x 4199<br>
Direct: 206-438-5879<br>Web hosting and more "Ahead of the Rest": <a href="http://www.superbhosting.net" target="_blank">http://www.superbhosting.net</a><br>