Mandatory on Transition problem with queue names?

MandatoryOnTransition doesn’t work on queues with spaces (queue name) or lines (queue-name) on the queue name. It works on (queuename)

Set(%MandatoryOnTransition,
ServiceDesk => {
‘* -> resolved’ => [‘CF.channel’],
},
IT-services => {
‘* -> resolved’ => [‘CF.channel’],
},
);

“ServiceDesk” works but “IT-services” doesn’t. We have a lot of queue names with spaces, lines and even numbers on them. Can anyone help? This is a very important feature we want to add…

We are using RT 4.4.4 and RT-Extension-MandatoryOnTransition-0.20. Same thing happened with RT 4.4.2

Have you tried putting quote marks around the queue name? Something like:

Set(%MandatoryOnTransition,
    'ServiceDesk' => {
        '* -> resolved' => ['CF.channel'],
    },
    'IT-services' => {
        '* -> resolved' => ['CF.channel'],
    },
);

Thanks for replying! Unfortunately it’s same situation with quote marks ‘IT-Services’ :confused:
We have also tried with “IT-Services” etc…

I assume you’ve cleared the Mason cache/restart the web server after making this change?

Yes we have :slight_smile: Other extensions works fine. It’s just this one with this problem…

Does the IT-Services queue lifecycle have a path from * to resolved? Do you get anything in logs?

Testing real quickly I see that having a queue name with spaces works fine for me, I’d double check that you restarted the web server after adding the quotes.

TODO
Enforcement on Create
index.html / QuickCreate - Not yet implemented.
SelfService - Not yet implemented.

Also you’re not testing on the self service pages right?

We have default Lifecycle in that queue (and others where it doesn’t work) and nothing weird in logs. Tried also debug loglevel…

Yes we cleared Mason cache and restarted webserver. And no, not Self service pages :slight_smile:

Apologies for the egg sucking, but the CF is assigned to the IT-services queue?

1 Like

Yes it’s a global CF which is in every queue we have

OK, presumably this works:

Set(%MandatoryOnTransition,
‘ServiceDesk’ => {
‘* -> resolved’ => [‘CF.channel’],
},
);

and this fails?:

Set(%MandatoryOnTransition,
‘IT-services’ => {
‘* -> resolved’ => [‘CF.channel’],
},
);

Yes that’s correct. First is working fine and second not… I just tried with another queue ‘General’ and it works there also, so only difference is the queues name with space or line, to these two which are working :slightly_frowning_face:

Can you copy and paste the queue name from the web UI? Maybe there is a space or something

I checked name in web UI and no theres no space… Queue name is exactly the same… Any more ideas?

Is the example you’ve shown us your actual go if line or do you have a more complicated config? If you do can you paste the whole config here?

This is the config from RT_SiteConfig.d/RT_Extensions.pm. ServiceDesk and General is working

Plugin(‘RT::Extension::MandatoryOnTransition’);

Set(%MandatoryOnTransition,
‘ServiceDesk’ => {
‘* -> resolved’ => [‘CF.Channel’],
},
‘IT-Services’ => {
‘* -> resolved’ => [‘CF.Channel’],
},
‘General’ => {
‘* -> resolved’ => [‘CF.Channel’],
},

);

Just to check is the queue called “IT-services” or “IT-Services”? Case is important in the queue names.

1 Like