[rt-users] Send last message/comment from ticket to requestor on resolve

2008-05-05 Thread Nelson Pereira
Hi,

 

Wondering how to do this:

 

When I resolve a ticket, I want RT to send the message I put in the
resolve to the requestor, and not the default as per our records

 

 

Nelson Pereira 
Senior Network Administrator 

Protus IP Solutions Inc. 
[EMAIL PROTECTED] 
phone: 613.733. ext.528 
MyFax: 613.822.5083 
www.myfax.com 

Refer your friends and colleagues to MyFax! 
Click here for more information.
http://www.myfax.com/referral_program.asp  

  http://www.myfax.com 

 

image001.gif___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com

Re: [rt-users] Send last message/comment from ticket to requestor on resolve

2008-05-05 Thread Gene LeDuc

Nelson,

Here's how I include the resolver's message with our standard resolved 
blurb.  This is my (slightly modified) template for OnResolve.  The guts of 
what you want to do is that I grab the last correspondence, compare it to 
the last outgoing e-mail (don't include it if they're the same), then see 
if it's incoming e-mail (don't include it if so).  If it passes those 
tests, then I include it in my standard blurb to the requestor.  There are 
probably cleaner ways to do this, but I'm using this in production and it 
works.


Regards,
Gene

= start of template contents
{ ### Tells user that ticket has been resolved
  my $MyName = Template 28 (Resolved);
#$RT::Logger-debug($MyName (. $Transaction-Id . ) entered.);
  my $FromAddress = 'RT Requests [EMAIL PROTECTED]';
  my $ContactAddress = '[EMAIL PROTECTED]';
  my $OwnerName = $Ticket-OwnerObj-RealName;
  my $c_content;
  my $e_content;
  my $have_rmks;
  my $remarks;

  ### We won't include a comment if...
  ### - Last outgoing email content eq last correspond content (this means
  ###   that the content was already sent in an e-mail)
  ### - Last correspond attachment headers =~ /^Received/ (this means that
  ###   the correspond was an incoming e-mail)

  ### Get last Correspond
  my $Transactions = $Ticket-Transactions;
  $Transactions-Limit( FIELD = 'Type', VALUE = 'Correspond' );
  $Transactions-OrderByCols (
 { FIELD = 'Created',  ORDER = 'DESC' },
 { FIELD = 'id', ORDER = 'DESC' },
  );
  my $CorrespondObj = $Transactions-First;
  if ($CorrespondObj  $CorrespondObj-Id) {
$c_content = $CorrespondObj-Content;
chomp $c_content;
$have_rmks = !$CorrespondObj-Attachments-First-GetHeader('Received');
#$RT::Logger-debug($MyName: found correspondence: '$_content') if 
$have_rmks;

  }

  ### Get last outgoing e-mail
  $Transactions = $Ticket-Transactions;
  $Transactions-Limit( FIELD = 'Type', VALUE = 'EmailRecord' );
  $Transactions-OrderByCols (
 { FIELD = 'Created',  ORDER = 'DESC' },
 { FIELD = 'id', ORDER = 'DESC' },
  );
  my $EmailObj = $Transactions-First;
  if ($EmailObj  $EmailObj-Id) {
$e_content = $EmailObj-Content;
chomp $e_content;
if ($c_content) {
  $have_rmks = 0 if $e_content eq $c_content;
  $have_rmks = 0 if $EmailObj-Id  $CorrespondObj-Id;
}
  }

use Mail::Address;
  my $Cc = '';
  my $Bcc = '';
  if ( $have_rmks ) {
my $attachment = $CorrespondObj-Attachments-First;
my @cc_addrs = Mail::Address-parse($attachment-GetHeader('RT-Send-Cc'));
my @bcc_addrs = 
Mail::Address-parse($attachment-GetHeader('RT-Send-Bcc'));

foreach my $addr ( @cc_addrs ) {
  $Cc .= $addr-address . , ;
}
$Cc .= $Ticket-QueueObj-Cc-MemberEmailAddressesAsString;
$Cc =~ s/, $//;

foreach my $addr ( @bcc_addrs ) {
  $Bcc .= $addr-address . , ;
}
$Bcc .= $Ticket-QueueObj-AdminCc-MemberEmailAddressesAsString;
$Bcc =~ s/, $//;
  }

  ### Set the remarks if applicable
  if ($have_rmks) {
$remarks = 
Comments:

$c_content
;
#$RT::Logger-debug($MyName: going to send comments: $remarks);
  }
  my $AddressGroup = From: $FromAddress;
  $AddressGroup .= \nCc: $Cc if $Cc;
  $AddressGroup .= \nBcc: $Bcc if $Bcc;
  $OUT = $AddressGroup
Subject: Action completed for your request

The ticket that was opened for your request has been resolved by 
$OwnerName.  If you have any questions about this, you can contact us at 
$ContactAddress.

$remarks

Regards,
The IT Staff;

}
= end of template contents

At 10:42 AM 5/5/2008, Nelson Pereira wrote:

Content-Class: urn:content-classes:message
Content-Type: multipart/related; type=multipart/alternative;
boundary=_=_NextPart_001_01C8AED7.61321FB3

Hi,

Wondering how to do this:

When I resolve a ticket, I want RT to send the message I put in the 
resolve to the requestor, and not the default “as per our records….”



Nelson Pereira
Senior Network Administrator



--
Gene LeDuc, GSEC
Security Analyst
San Diego State University ___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com

Re: [rt-users] Send last message/comment from ticket to requestor on resolve

2008-05-05 Thread Kenneth Crocker
Nelson,


We created our own template and put the following code in it:
#MAKE SURE YOUR TEMPLATE HAS A BLANK LINE AFTER THE Subject: LINE!!!

Subject: Request Titled: {$Ticket-Subject} has been Resolved!

This ticket has been resolved. DO NOT REPLY to this message!
-
TICKET INFORMATION:
Ticket Queue  : {$Ticket-QueueObj-Name}
Ticket Number : {$Ticket-Id}
Ticket Subject: {$Ticket-Subject}
Ticket Description:
  {$Ticket-FirstCustomFieldValue('Description')}

Ticket Priority is: {$Ticket-Priority}
Ticket Requestor  : {$Ticket-Requestors-UserMembersObj-First-Name}
Ticket Created  by: {$Ticket-CreatorObj-Name}
Ticket Created  on: {substr($Ticket-Created, 0, 10)}
Ticket  Owned   by: {$Ticket-OwnerObj-Name}
Development Started on: {substr($Ticket-Started, 0, 10)}
QA Approved on: {$Ticket-FirstCustomFieldValue('QA Approval Date')}
QA Approved by: {$Ticket-FirstCustomFieldValue('QA Approver')}
Migratedon: {substr($Ticket-Resolved, 0, 10)}
Migratedby: {$Ticket-LastUpdatedByObj-Name}
Resolution comment:
  {
   my $Resolution_Comment;
   my $Transactions;
   my $CommentObj;

   $Transactions = $Ticket-Transactions;
   $Transactions-Limit( FIELD = 'Type', VALUE = 'Comment' );
   $Transactions-OrderByCols(
   { FIELD = 'Created',  ORDER = 'DESC' },
   { FIELD = 'id', ORDER = 'DESC' },
   );

   $CommentObj = $Transactions-First;

   if  ($CommentObj  $CommentObj-id)
   {
$Resolution_Comment = $CommentObj-Content;
   }
   else
   {
$Resolution_Comment = No comment.
   }

   return $Resolution_Comment;
  }
-
To view ticket information, enter URL:

 {$RT::WebURL}Ticket/Display.html?id={$Ticket-id}


Of course, you will certainly not have the same CF's in your tickets 
and we use the Comment not the reply to insert into the template. But 
I think this will give you an idea on how to do this. Hope this helps.

Kenn
LBNL

On 5/5/2008 10:42 AM, Nelson Pereira wrote:
 Hi,
 
  
 
 Wondering how to do this:
 
  
 
 When I resolve a ticket, I want RT to send the message I put in the 
 resolve to the requestor, and not the default “as per our records….”
 
  
 
  
 
 *Nelson Pereira*
 Senior Network Administrator
 
 Protus IP Solutions Inc.
 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
 phone: 613.733. ext.528
 MyFax: 613.822.5083
 www.myfax.com http://www.myfax.com
 
 Refer your friends and colleagues to MyFax!
 Click here for more information. 
 http://www.myfax.com/referral_program.asp
 
   
 
 www.MyFax.com http://www.myfax.com
 
  
 
 
 
 
 ___
 http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
 
 Community help: http://wiki.bestpractical.com
 Commercial support: [EMAIL PROTECTED]
 
 
 Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
 Buy a copy at http://rtbook.bestpractical.com

___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


Re: [rt-users] Send last message/comment from ticket to requestor on resolve

2008-05-05 Thread Stephen Turner

At Monday 5/5/2008 01:42 PM, Nelson Pereira wrote:
Hi,

Wondering how to do this:

When I resolve a ticket, I want RT to send the 
message I put in the resolve to the requestor, 
and not the default “as per our records….”

Disable the On resolve notify Requestors scrip, 
and resolve tickets by adding a reply  changing 
the status. The Mason code can be changed so that 
when you use the Resolve link, the Update 
type is set to Reply rather than Comment.

Steve


Stephen Turner
Senior Programmer/Analyst - SAIS
MIT Information Services and Technology (IST)


___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com