Couldn't create related ticket create-Manager approval for ### No permission to create tickets in the queue '___Approvals' in RT 4.2

Hello Experts,

I am following these instructions Customizing/Approvals - RT 4.2.0 Documentation - Best Practical to create a simple Approval mechanism on an fresh install of RT 4.2/MySQL 5.1/RHEL 6 system.

As the Root user I created a “Change requests” queue.
In the queue I created a new type-Perl Template called “Create approval” with the following code:
===Create-Ticket: Manager approval
Depended-On-By: TOP
Queue: ___Approvals
AdminCcGroup: vPEO
Requestors: {$Tickets{TOP}->RequestorAddresses}
Type: approval
Content-Type: text/plain
Due: {time + 32460*60}
Content: Please approve me.

Thanks.
ENDOFCONTENT

Created a scrip “Create an approval on ticket create” Condition: “On Create”, Action: Create Tickets, Template: “create approval”, Status: “enabled”.
I have left ___Approvals queue disabled.
I have added the following rights to the ___Approvals queue: Grant ShowTicket and ModifyTicket rights to the Owner and AdminCc roles.
I did not add vPEO group as watchers of the ___Approvals queue explicitly.
Members of the vPEO group (including Root) can create tickets in the “Change requests” queue, but as you can see below from the log no corresponding “Approvals” get created and none of the vPEO members can see anything in the Tools->Approval menu.

The information in /var/log/messages is below:
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Couldn’t create related ticket create-Manager approval for 20 No permission to create tickets in the queue ‘___Approvals’
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Action/CreateTickets.pm line 1151.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/URI/fsck_com_rt.pm line 95.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Resolver RT::URI::fsck_com_rt could not parse fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/, maybe Organization config was changed?
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $id in hash element at /opt/rt4/sbin/…/lib/RT/Ticket.pm line 1944.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $value in substitution (s///) at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2698.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $value in substitution (s///) at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2698.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2731.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2731.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $id in hash element at /opt/rt4/sbin/…/lib/RT/Ticket.pm line 1957.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Resolver RT::URI::fsck_com_rt could not parse fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/, maybe Organization config was changed?
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] RT::Link=HASH(0x7ff7917cad50) Couldn’t resolve target ‘fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/’ into a URI.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Link could not be created: Couldn’t resolve target ‘fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/’ into a URI.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] AddLink thru 20 failed: Link could not be created: Couldn’t resolve target ‘fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/’ into a URI.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Action/CreateTickets.pm line 1198.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Ticket 20 created in queue ‘Change requests’ by root

Any suggestions on what is going wrong here are greatly appreciated.

Respectfully,

-Vitaly

I am hoping someone from RT can revisit this page because i found that these Customizing/Approvals - RT 4.2.0 Documentation - Best Practical instructions are not working AS IS if used on RT 4.2. What make the Approval Template/scrips trigger expected behavior and Approval to begin appearing for users was this:

  1. very valuable note from this RT Wiki: http://requesttracker.wikia.com/wiki/ApprovalCreation namely this:
    " There is an error in the documentation for RT3. This caused me a good bit of trouble. The Depended-On-By line in the documentation example is incorrect. The value on this line must be “TOP” (as shown here) and not “{$Tickets{‘TOP’}->Id}” as the docs show."

I find this amusing since the author of this page has researched that syntac of the {TOP} has changed at least several time b/w RT releases and depending on the version of the code could be either “TOP” (works in RT 4.2 but RT 4.2 Approval page used ‘TOP’, hence my troubles getting it to work) or ‘TOP’.

2.I had to Enable the ___Approvals queue

  1. Testing section of the above mentioned 4.2 customizing approvals instructions says “Select Tools → Approvals” but in RT 4.2 it is “Select Tools → Approval”

I hope this saves you some angst during implementation.

-VitalyOn Wednesday, November 6, 2013 12:03 AM, vitalik1 vitalik1@yahoo.com wrote:

Hello Experts,

I am following these instructions Customizing/Approvals - RT 4.2.0 Documentation - Best Practical to create a simple Approval mechanism on an fresh install of RT 4.2/MySQL 5.1/RHEL 6 system.

As the Root user I created a “Change requests” queue.
In the queue I created a new type-Perl Template called “Create approval” with the following code:
===Create-Ticket: Manager approval
Subject: Manager Approval for {$Tickets{TOP}->Id} - {$Tickets{TOP}->Subject}
Depended-On-By: TOP
Queue: ___Approvals
AdminCcGroup: vPEO
Requestors: {$Tickets{TOP}->RequestorAddresses}
Type: approval
Content-Type: text/plain
Due: {time + 32460*60}
Content: Please approve me.

Thanks.
ENDOFCONTENT

Created a scrip “Create an approval on ticket create” Condition: “On Create”, Action: Create Tickets, Template: “create approval”, Status: “enabled”.
I have left ___Approvals queue disabled.
I have added the following rights to the ___Approvals queue: Grant ShowTicket and ModifyTicket rights to the Owner and AdminCc roles.
I did not add vPEO group as watchers of the ___Approvals queue explicitly.
Members of the vPEO group (including Root) can create tickets in the “Change requests” queue, but as you can see below from the log no corresponding “Approvals” get created and none of the vPEO members can see anything in the Tools->Approval menu.

The information in /var/log/messages is below:
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Couldn’t create related ticket create-Manager approval for 20 No permission to create tickets in the queue ‘___Approvals’
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Action/CreateTickets.pm line 1151.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/URI/fsck_com_rt.pm line 95.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Resolver RT::URI::fsck_com_rt could not parse fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/, maybe Organization config was changed?
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $id in hash element at /opt/rt4/sbin/…/lib/RT/Ticket.pm line 1944.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $value in substitution (s///) at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2698.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $value in substitution (s///) at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2698.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2731.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2731.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value $id in hash element at /opt/rt4/sbin/…/lib/RT/Ticket.pm line 1957.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Resolver RT::URI::fsck_com_rt could not parse fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/, maybe Organization config was changed?
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] RT::Link=HASH(0x7ff7917cad50) Couldn’t resolve target ‘fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/’ into a URI.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Link could not be created: Couldn’t resolve target ‘fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/’ into a URI.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] AddLink thru 20 failed: Link could not be created: Couldn’t resolve target ‘fsck.com-rt://ddcdevsupport01.xxx.yyy.emc.com/ticket/’ into a URI.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Use of uninitialized value in concatenation (.) or string at /opt/rt4/sbin/…/lib/RT/Action/CreateTickets.pm line 1198.
Nov 4 14:00:02 ddcdevsupport01 RT: [2954] Ticket 20 created in queue ‘Change requests’ by root

Any suggestions on what is going wrong here are greatly appreciated.

Respectfully,

-Vitaly