Request Tracker



Yüklə 215,29 Kb.
səhifə8/9
tarix14.10.2017
ölçüsü215,29 Kb.
#5024
1   2   3   4   5   6   7   8   9

4.22Revoking queue rights

4.22.1To take a queue right away from a user


Click Configuration -> click Queues -> click the name of the queue -> click User Rights in the left side navigation bar -> make sure you're looking at the correct user -> check the checkbox next to the right you want to revoke -> click the Modify User Rights button at the bottom of the page.

4.22.2To take a queue right away from a group


Click Configuration -> click Queues -> click the name of the queue -> click Group Rights in the left side navigation bar -> make sure you're looking at the correct group -> check the checkbox next to the right you want to revoke -> click the "Modify Group Rights" button at the bottom of the page.

4.23Disabling a queue


RT is a packrat, so you can never delete a queue. But you essentially put it out of commission by disabling it:

Click Configuration -> click Queues -> click the name of the queue to be disabled -> clear the Enabled checkbox -> click the Save changes button at the bottom of the page.

4.24Re-enabling a queue


To reactivate a disabled queue:

Click Configuration -> click Queues -> check the Include disabled queues in listing checkbox -> click the Go! Button -> click the name of the queue to re-enable -> check the Enabled checkbox -> click the Save changes button.

4.25Global group Rights

4.25.1To grant global rights to a group


Click Configuration -> click Global -> click Group Rights -> select right(s) from the New rights list box next to the correct group(s) -> click the "Modify Group Rights" button at the bottom of the page.

4.25.2To take global rights away from a group


Click Configuration -> click Global -> click Group Rights -> make sure you're looking at the correct group -> check the checkbox next to the right you want to revoke -> click the "Modify Group Rights" button at the bottom of the page.

4.26Global user Rights

4.26.1To grant global rights to a user


Click Configuration -> click Global -> click User Rights -> select right(s) from the New rights list box next to the correct user(s) -> click the "Modify User Rights" button at the bottom of the page.

4.26.2To take global rights away from a user


Click Configuration -> click Global -> click User Rights -> Rights -> make sure you're looking at the correct user -> check the checkbox next to the right you want to revoke -> click the "Modify User Rights" button at the bottom of the page.

4.27Custom Fields

4.27.1Adding Custom fields


Follow the steps given below to create a custom field for tickets. Eg. We will create a custom field name ‘Database version’

Go to link:

Configure Custom Fields New Custom Field



This will open a page with various fields. Fill their values as:


Field Name shown on page

Value to be inserted / selected from combo

Name

Database Version

Description

version of database installed

Type

Fill in text area

Applies To

Tickets

Enabled

Keep checked

The three fields ‘Validation’, ‘Link Values To’ and ‘Include Page’ are to be left blank

Press ‘Submit’ button.

NOTE: After each value is entered the ‘Submit’ button has to be pressed


4.27.2Adding Custom field to a queue


To add a created custom field to a queue follow the steps:

Goto links:

Configuration Custom Fields



  • Select the required custom field from the listed ones

  • This will open a ‘Basics’ tab with description and values of the selected custom field.

  • Select tab / link ‘Applies To’. This will open a page with queue list with check boxes.

  • Select the queue to which the Custom Field is to be added and press ‘Submit’.

  • There are two more tabs/links: ‘Group rights’ and ‘User rights’ using which the rights to see, modify etc can be given to each group or user for this custom field

  • By default each user in the queue should have ‘See Custom Field’ right assigned.

4.27.3Rights for custom fields


Goto links:

Configuration Custom Fields  select any of the custom field for ticket that was displayed.

For example:

Click on the selected “Database Version” custom field.

Click on Group Rights.

Under System Groups: The below rights are granted for Privileged, Unprivileged and Every One.



Every one: see custom field

Privileged: modify custom field, see custom field.

Unprivileged: see custom field

Under Userdefined Groups:



Ecs_manager: AdminCustomField, ModifyCustomField, SeeCustomField.

Ecs_owner: ModifyCustomField, SeeCustomField.

Ecs_supervisor_group: ModifyCustomField, SeeCustomField.

Click on the selected Database Version custom field.

Click on User Rights:

Root: AdminCustomField, ModifyCustomField, SeeCustomField

Pushkar: SeeCustomField.

Ajitbhor: SeeCustomField.

Mainendra: SeeCustomField.

Manager1: SeeCustomField.

Manager2: SeeCustomField.

Krishna Prasad: SeeCustomField.

After selecting the user rights make sure that to save your changes.


4.27.4Modifying Autoreply.pm for Cc list


If a requestor sends a mail to RT with few people in Cc list then RT has to store those Cc addresses. When RT sends back a acknowledgement to requestor it should include all those Cc addresses in same mail. By default this does not happen. RT sends a mail to requestor and a separate mail to Cc list addresses. To change this behaviour as per Itaas requirements there is a small hack to be done in Autoreply.pm file.

The /opt/rt3/lib/RT/Action/Autoreply.pm file has a script that runs when RT creates a new ticket. It has a method sub SetRecipients() in which it adds requestor’s address in ‘To’ field of the auto reply mail. Here add following lines to the code:



Push(@{$self->{'Cc'}}, $self->TicketObj->Cc->MemberEmailAddresses);

push(@{$self->{'Cc'}}, $self->TicketObj->QueueObj->Cc->MemberEmailAddresses);



Thus the SetRecipients() method looks like:

sub SetRecipients {

my $self=shift;

push(@{$self->{'To'}}, $self->TicketObj->Requestors->MemberEmailAddresses);

push(@{$self->{'Cc'}}, $self->TicketObj->Cc->MemberEmailAddresses);

push(@{$self->{'Cc'}}, $self->TicketObj->QueueObj->Cc->MemberEmailAddresses);

return(1);

}


This will add ‘Cc’ fields from the original mail as well as administrator’s address to the reply mail thus sending single mail with all correspondence addresses in it.

NOTE: This change affects all queues since Autoreply.pm is a global scrip. Also it affects only when a ticket is created


4.27.5Adding Cc name for open ticket during correspondence


Sometimes it is necessary to add a Cc field for an ongoing correspondence for a ticket. Say there are few mail exchanges between requestor and ticket owner/support person and now requestor wants to add his manager in Cc loop for all correspondence henceforth.

RT does not provide this facility by default. It is purposely done in this way by design because there is a security risk. If RT is set up such that you could be added as a Cc just by Ccing yourself on a ticket update, the system would be open to an attack which let random third parties grant themselves "Cc" role rights to a ticket.

But since this feature is necessary, by taking the security risk it can be achieved by adding scrip as follows:


Go to ConfigurationGlobalScripNew Scrip

In the tab for new scrip select / type following options:


Description: AddWatchersOnCorrespond

Condition: On Correspond

Action: User Defined

Template: Global Template: Blank

Stage: TransactionCreate
Custom condition: (keep empty)
Custom action preparation code: return 1;
Custom action cleanup code:
# Get some info:

my $scrip = 'Scrip:AddWatchersOnCorrespond';

my $Transaction = $self->TransactionObj;

my $EmailAddr = $self->TransactionObj->CreatorObj->EmailAddress;

my $Queue = $self->TicketObj->QueueObj;

my $Ticket = $self->TicketObj;

my $Id = $self->TicketObj->id;
# Extract a list of people associated with this transaction:

# - including the transaction creator, and if it is an email, the sender and recipients of that email message.

my @People = ($EmailAddr);

foreach my $h (qw(From To Cc)) {

my $header = $Transaction->Attachments->First->GetHeader($h);

my @addr = Mail::Address->parse($header);

foreach my $addrobj (@addr) {

my $addr = lc $RT::Nobody->UserObj->CanonicalizeEmailAddress($addrobj->address);

# Ignore the specific addresses for this queue:

next if lc $Queue->CorrespondAddress eq $addr or lc $Queue->CommentAddress eq $addr;

# Ignore any email address that looks like one for ANY of our queues:

next if RT::EmailParser::IsRTAddress('', $addr);

$RT::Logger->debug("$scrip: Ticket #$Id correspondence contains header - $h: $addr");

push @People, $addr;

}

}
# Lookup the 'experts' (general) group to use below:



# my $Experts = RT::Group->new($self->CurrentUser);

# $Experts->LoadUserDefinedGroup('general');


# Now check if each user is already watching the ticket or queue:

foreach my $addr (@People) {

my $User = RT::User->new($RT::SystemUser);

$User->LoadByEmail($addr);

my $Name = $User->Name;

my $Principal = $User->PrincipalId if $User->Id;

if (not ($Queue->IsWatcher(Type => 'Cc', PrincipalId => $Principal) or

$Queue->IsWatcher(Type => 'AdminCc', PrincipalId => $Principal) or

$Queue->IsWatcher(Type => 'Owner', PrincipalId => $Principal) or

$Ticket->IsWatcher(Type => 'Cc', PrincipalId => $Principal) or

$Ticket->IsWatcher(Type => 'AdminCc', PrincipalId => $Principal) or

$Ticket->IsWatcher(Type => 'Owner', PrincipalId => $Principal) or

$Ticket->IsWatcher(Type => 'Requestor', PrincipalId => $Principal)

)) {


# If the user is a member of the experts group, then add them as an AdminCc, otherwise as a normal Cc:

# my $type = $Experts->HasMember($User->PrincipalObj) ? 'AdminCc' : 'Cc';

my $type = 'Cc';

# Add the new watcher now and check for errors:

my ($ret, $msg) = $Ticket->AddWatcher(Type => $type,

Email => $addr,

PrincipalId => $Principal,);

if ($ret) {

$RT::Logger->info("$scrip: New $type watcher added to ticket #$Id: $addr (#$Principal)");

} else {


$RT::Logger->error("$scrip: Failed to add new $type watcher to ticket #$Id: $addr (#$Principal) - $msg");

}

}



}
return 1;

1   2   3   4   5   6   7   8   9




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə