EmailGroup: Difference between revisions
(Added shorter example for template.) |
m (5 revisions imported) |
(No difference)
|
Revision as of 15:08, 6 April 2016
RT 3.8
You can use RT sbin/rt-notify-group-admin rt-email-group-admin
to create scrip actions to notify groups and or users.
It looks like the above script no longer exists, and instead was replaced by the concept of 'Queue Watchers' at some point. See the Queue Admin page to select watchers.
The script is in RTHOME/sbin
(confirmed in 3.8.6 and up to 3.8.8) and can be used to create new actions that can notify an existing Group or a group of Users. Useful when you need to notify a group only when a special condition is met (i.e. send email to users in the group Dispatchers when a new ticket is created).
The 'Queue Watchers' feature is instead useful when you want a Group (or a User) to automatically be CC or AdminCC of each ticket that belongs to the watched queue.
RT 3.6 and older
Above script is part of an extension that has been integrated into RT 3.8. In 3.6 and older versions you can install RT-Action-NotifyGroup from CPAN.
Using custom code in Templates
Description
This Template will email the members of an RT Group. The default template code is for when a new ticket is created, but you can change it to include whatever message you would like.
Author/Contributors
Original author: Jeff Hoover (jhoov)
The majority of the perl code was taken from the OnCreateAddGroupCc ScripAction.
How To Use
These instructions assume you want to be emailed when a new ticket is created:
1. Create a new template with the code below, replacing the $GroupName variable with the name of the RT group you want to email.
2. Create a scrip that uses the template:
Description: On Create Notify IT Condition: On Create Action: Notify Other Recipients Template: <your template from step 1> Stage: TransactionCreate
The Template
To: { my $GroupName = 'IT'; # instantiate a group object my $addGroupObj = RT::Group->new($RT::SystemUser); $addGroupObj->LoadUserDefinedGroup($GroupName); return undef unless $addGroupObj; my $addGroupMembersObj = $addGroupObj->UserMembersObj; my $res = ''; # walk through members of group while ( my $userObj = $addGroupMembersObj->Next) { my $email = $userObj->EmailAddress; next unless $email; # email can be empty $res .= ', ' if $res; $res .= $email; } $res; } RT-Attach-Message: yes A new ticket was created in the {$Ticket->QueueObj->Name} queue. Subject: {$Transaction->Subject || $Ticket->Subject || "(No subject given)"} Requestors: {$Ticket->RequestorAddresses} Ticket <URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} > {$Transaction->Content()}
NOTE: Don't add any characters before '{' or after '}'.
Or, in RT 4 you can just use this:
To: { my $group = RT::Group->new( $RT::SystemUser ); $group->LoadUserDefinedGroup("group name here"); $group->MemberEmailAddressesAsString; } ...