I very much appreciate your response. This is what this gave me:

[27999] [Mon Dec 5 23:22:01 2016] [warning]: AddWatcher Status: 0 ((eval 471):14) [27999] [Mon Dec 5 23:22:01 2016] [warning]: AddWatcher Message: That role is invalid for this object ((eval 471):15)

The custom role indeed "Applies to" the queue that the ticket was created in, so I'm confused... scripts don't support custom roles, maybe?

Best regards,
Steve


On 12/05/2016 05:24 PM, Landon Stewart wrote:
On Dec 5, 2016, at 12:21 PM, Stephen Switzer <st...@sbsroc.com <mailto:st...@sbsroc.com>> wrote:

Please excuse the re-post, but I've made some progress today, and I think I just need a tweak. I have the following code in "Custom action preparation code":

my $groupname='Cust-Customer1';

# Load the custom group from RT
my $groupObj = RT::Group->new($RT::SystemUser); $groupObj->LoadUserDefinedGroup($groupname);
return undef unless $groupObj;

#This worked
#my $admincclist = $self->TicketObj->AdminCc;
#$admincclist->AddMember($groupObj->Id);

#This doesn't work...
$self->TicketObj->AddWatcher(
  Type=>"Customer",
  PrincipalId=>$groupObj->Id
);
return 1;

Can anyone shed light on how to add a custom role member to a ticket on create? If I uncomment the admincclist lines, I get it added to the AdminCC field... but not the Customer custom role. I see no errors in the rt.log file, which is set to warning.

Thank you!



I'm not sure exactly why it's not working but you could check out the return value from $self->TicketObj->AddWatcher() and see if there's any useful information in there since AddWatcher() returns a tuple of (status, message).

Untested code:

my $groupname='Cust-Customer1';

# Load the custom group from RT
my $groupObj = RT::Group->new($RT::SystemUser);
 $groupObj->LoadUserDefinedGroup($groupname);
return undef unless $groupObj;

#This worked
#my $admincclist = $self->TicketObj->AdminCc;
#$admincclist->AddMember($groupObj->Id);

#This doesn't work...
*my ($status, $message) = *$self->TicketObj->AddWatcher(
  Type        => "Customer",
  PrincipalId => $groupObj->Id
);
*RT->Logger->warning("AddWatcher Status: $status");*
*RT->Logger->warning("AddWatcher Message: $message");*
return 1;

--
Landon Stewart
Lead Analyst - Abuse and Security Management
INTERNAP ®
📧 lstew...@internap.com <mailto:lstew...@internap.com>
🌍 www.internap.com <http://www.internap.com>


---------
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Los Angeles - January 9-11 2017

Reply via email to