RT Extension - Automatic Assignment - Can't find libraries?

I’m trying to install AutomaticAssingment (RT::Extension::AutomaticAssignment - automatically assign tickets based on rules - metacpan.org) on our RT 5.0.4 set up. The plugin appears to have installed but I get this error when I go to “Automatic Assignment”: An internal RT error has occurred. Your administrator can find more details in RT's log files.

Going to my log file I then find this:

[1805] [Tue Oct 10 11:34:58 2023] [error]: Can't locate object method "require" via package "RT::Extension::AutomaticAssignment::Filter::ExcludedDates" (perhaps you forgot to load "RT::Extension::AutomaticAssignment::Filter::ExcludedDates"?) at /opt/rt5/local/plugins/RT-Extension-AutomaticAssignment/html/Admin/Queues/AutomaticAssignment.html line 19.

Stack:
  [/opt/rt5/local/plugins/RT-Extension-AutomaticAssignment/html/Admin/Queues/AutomaticAssignment.html:19]
  [/opt/rt5/share/html/Admin/autohandler:49]
  [/opt/rt5/sbin/../lib/RT/Interface/Web.pm:751]
  [/opt/rt5/sbin/../lib/RT/Interface/Web.pm:428]
  [/opt/rt5/share/html/autohandler:53] (/opt/rt5/sbin/../lib/RT/Interface/Web/Handler.pm:216)

If I install that module via CPAN, or I try to reinstall the plugin it still fails. What did I miss, or what am I doing wrong?

Hi,

Did you add the line "Plugin( "RT::Extension::AutomaticAssignment" );" in your /opt/rt5/etc/RT_SiteConfig.pm file ?

Yes. As well as the additional configuration parameter outlined later in the install document. The only thing I can comment on is my configuration file has all of the strings inside ’ not " .

The Scrip triggers/actions for this plugin are present, and the option to configure this plugin for a queue is there. When I try to click that, I get the error.

Is the module loaded from CPAN into a directory that your web server can see (for example a system library location), or has it been loaded into a personal library for the user that ran the installation (often root)? I’ve seen in the past situations where a user could run perl scripts that used a module, but the web server couldn’t run the same script because its library search path was different. Probably worth checking that.

Possibiy. I know when I do some installs, I see a message go by that says something to the effect “Hey; your system is confused about which Perl install to use”.

I’ve got the same error in my test environment, so I’ll start there with looking at the paths.

How can I add a Perl library path to the system? I’m trying to force add /opt/rt5/local/plugins ands nothing I’m finding will let me do it at a system wide level.

In case it helps, it’s very complicated but I wrapped our RT installation around perlbrew. This lets you have a separate Perl install where you can then install RT’s dependent modules as well as other RT modules. This is particularly helpful when you do not have access to add libraries to the system Perl. https://perlbrew.pl/

1 Like

I was thinking about that, but we just signed a contract with BP to host our RT install. At this point, I think I may just ride out and bugs I can until we get migreated.