[rt-users] RT 4.0.17 and RT::Extension::MergeUsers 0.10 = merged user not in Basic - Owner list
Hi, I've just installed MergeUsers for the first time to address the usual multiple email problem, and I'm seeing a weird problem when trying to change the ownership of a new ticket via the Basics properties page. In order to test the MergeUsers functionality, I have added a new user to our RT, which I merged to my primary RT account. Since that moment, my account doesn't show up in the owner dropdown on the basic properties page anymore - not even after unmerging the new account. It's not a privilege problem, because I can still use take to take ownership of a ticket. When logged in as a different user, who hasn't been touched with the new extension, that user does shows up in the owner dropdown. Is this a known problem? Since the README mentions a new user iterator, could that be the source of the problem? Cheers, Thomas
Re: [rt-users] Listing valid values in RT Custom Field
On Mon, Aug 26, 2013 at 6:56 AM, Justin Fenech justin.fen...@strategicdata.com.au wrote: $cf-LoadByName(Name = $cf_name); You didn't check that you actually loaded custom field: unless ( $cf-id ) { die Couldn't load CF $cf_name; } -- Best regards, Ruslan.
Re: [rt-users] Technician on vacation status
On Thu, Aug 22, 2013 at 2:20 AM, Max McGrath mmcgr...@carthage.edu wrote: Hi all - Running RT 4.0.16. Was talking with a co-worker today about this. I was wondering if there is anything that can be put in place (easily) for when a person is out of the office for a long time. For instance , if a person is out on vacation for two weeks and not everybody is aware, maybe RT shouldn't allow tickets to be given to this person? Not sure if this is possible...or even a good idea. Just a thought. I havn't seen an extension for RT that helps with vacations and would be cool to get one. Max -- Best regards, Ruslan.
Re: [rt-users] Technician on vacation status
Am Mon, 26 Aug 2013 16:57:40 +0400 schrieb Ruslan Zakirov r...@bestpractical.com: On Thu, Aug 22, 2013 at 2:20 AM, Max McGrath mmcgr...@carthage.edu wrote: Hi all - Running RT 4.0.16. Was talking with a co-worker today about this. I was wondering if there is anything that can be put in place (easily) for when a person is out of the office for a long time. For instance , if a person is out on vacation for two weeks and not everybody is aware, maybe RT shouldn't allow tickets to be given to this person? Not sure if this is possible...or even a good idea. Just a thought. I havn't seen an extension for RT that helps with vacations and would be cool to get one. I have never tried this, but what happens if: - that user is disabled? - if that user has any old tickets in waiting for feedback status and then the tickets acutally get feedback and the user is disabled? Disabling the user is harsh - but at least, nobody will be able to assign new tickets to the user. In my organization, people just send an email to everybody when they are away for a longer time...obviously not a solution for a company with 30k active RT users. I would be really interested to know how organizations with a large number of privileged RT users handle this.
[rt-users] ExtractCustomFieldValues and CF Select type
Hello, I'm using RT 4.0.10 (on a test machine) and I'm testing the extension ExtractCustomFieldValues to insert a value to a custom field (Select type with a list of 4 values). The incoming mail contains the value : Type du ticket-Incident the template contains : Type du ticket|Body|Type du ticket-(.+)$|q| then The ticket is created, and displays on the main page : Type du ticket: Incident but when I modify the ticket (the basics), on the list of values of this CF, the blue line is set on (no information) and not on Incident. So if I want to modify any field there, I must re-select the value Incident before saving, otherwise it's lost. For example, the history of the ticket shows : - at the creation of the ticket : The RT System itself - Type du ticket Incident added - after modifying : '/the name of the owne/r' - Type du ticket Incident removed With CF using type Freeform there is no problem, the value is correctly inserted at creation time. I've been searching for a while, I suppose it's simple, but even after some holidays, I still don't find the reason why the correct value is not selected. Let me know if more information is needed. Thanks a lot for your help, Elisabeth -- View this message in context: http://requesttracker.8502.n7.nabble.com/ExtractCustomFieldValues-and-CF-Select-type-tp55097.html Sent from the Request Tracker - User mailing list archive at Nabble.com.
[rt-users] Cron Job
Looking for a better way! This is what I have done so far. I created the following Perl script which connects to a foreign data to determine if there are any available agents login to the phone system. If there are agents to send messages to then run getmail to retrieve the messages. It also makes sure the Getmail process is not already running. Why do I want something better 1. I get the following error when this runs. But messages appear to be delivered. a. Delivery error (command rt-mailgate 9285 wrote to stderr: cannot chdir to /root from /tmp/VurewGNWhm: Permission denied, aborting. at /usr/lib/perl5/5.16.2/File/Temp.pm line 902.) b.msg 575/594 (85001 bytes), delivery error (command rt-mailgate 9285 wrote to stderr: cannot chdir to /root from /tmp/VurewGNWhm: Permission denied, aborting. at /usr/lib/perl5/5.16.2/File/Temp.pm line 902.) 2. I continue to get all kinds of directories left behind in the /tmp directory. 3. I am a newbe and know there has to be a better way. Script being ran by cron as root #!/usr/bin/perl -w use DBI; use DateTime; my $host = '192.168.254.10'; my $port = '4308'; my $database = ''; my $user = ''; my $password = ''; my $command2 = ; my $currentID = $$; my $dt = DateTime-now; open(FILE, ps aux|); while (FILE) { (my $uid,my $pid,my $cpu,my $mem,my $vsz,my $rss,my $tty,my $stat,my $start,my $time,my $command,my $command1,my $command2) = split; $command = $command // Unknown; $command = $command1 // Unknown; $command = $command2 // Unknown; my $result = index($command, /usr/bin/getmail); if ($pid ne $currentID) { if ($result -1) { print $dt Scrip already running $command $pid $currentID $result\n; exit; } } } my $dsn = DBI:mysql:database=$database;host=$host;port=$port ; my $dbh = DBI-connect($dsn, $user, $password); my $sql = 'SELECT tabaddress.EmailAddress FROM shoreware.ports as Ports '; $sql = $sql . 'inner join (shoreware.usercurrentswitch as UCS) on (Ports.PortID = UCS.HomePortID) ' ; $sql = $sql . 'inner join (shoreware.users as Users) on (Ports.CurrentDN = Users.UserDN) '; $sql = $sql . 'inner join (shoreware.workgroupagents as Agents) on (Users.UserDN = Agents.UserDN) '; $sql = $sql . 'inner join (shoreware.Tabaddresses as tabaddress) on (Users.AddressID = tabaddress.AddressID) '; $sql = $sql . 'Where (Ports.JackNumber not like \'%norr%\' or Ports.JackNumber is null and Agents.agentstateID0) '; $sql = $sql . 'order by Agents.UserDN '; my $sth = $dbh-prepare($sql); $sth-execute; my $rows = $sth-rows; if ($rows 0) { system(cd /tmp); system(getmail); print $dt Number of rows $rows\n; } Getmail configuration [retriever] #type = SimpleIMAPSSLRetriever #server = imap.gmail.com #port = 993 #username = testcope...@gmail.com #password = #mailboxes = ('BBaker',) type = SimpleIMAPRetriever server = 192.168.250.61 port = 143 username = clientservice@copesan.local password = mailboxes = ('To_Request_Tracker',) [destination] type = MDA_external path = /usr/bin/rt-mailgate user = rtuser group = rtgroup arguments = (--url, http://localhost/rt;, --queue, x CSR, --action, correspond,) [options] read_all = false delete = false received = false delivered_to = false message_log = /var/log/request-tracker/mvmail.log Thanks in advance for all the help. Bryon Baker Network Operations Manager Copesan - Specialists in Pest Solutions 800-267-3726 * 262-783-6261 ext. 2296 bba...@copesan.commailto:cstep...@copesan.com www.copesan.comhttp://www.copesan.com/ Servicing North America with Local Care
[rt-users] RT::Authen::ExternalAuth SSO config.. tips please..
Hi All, I'm moving from RT3.6 - RT4.0.17 and have decided to try going with RT::Authen::ExternalAuth instead of an OverRide I wrote previously. My system sets a cookie for all visitors, which is just a session ID (no other information in the cookie - for security .. this is then linked to the actual user information using Apache::Session to do the dirty work) Inside the cookie retrieved information there is the Username, Email addresses (multiple possible), Real Name, RT ID (single at the moment, but will be multiple in the near future) and a load of other information (address etc.) Currently when someone logs in to the main site and updates their preferences it updates the preferences in the RT user database. Inside the retrieved information there is an 'auth' parameter which contains the current state of the login and it's timeout. My thoughts is for any un-authenticated user to be re-directed to my main login page, get the new authenticated cookie, and be re-directed back to the RT system. The RT system will then load the user information from the DB retrieved by the cookie ID.. and allow access in that method. Is this possible with RT::Authen::ExternalAuth ? If so is it possible for it to update the timeout as necessary (so the login doesn't idle out)? If all of the above... any Docs/Examples on it? (I have modules that can do this as well - but need to know what calls what and what is expected in the return) Glancing at the code, it suggests that it is not possible without extensive work... can anyone confirm or deny? Thanks, -- Michelle Sullivan http://www.mhix.org/
Re: [rt-users] Technician on vacation status
Two thoughts: 1. At our site we have a cron job which checks for new tickets which have been sitting around for N hours and don't have a future start date. If any are found, an email goes out to the owner and her manager and the RT admin with a ticket summary.This fails if all 3 are out, but has worked reasonably well, and does not depend on the accuracy of our electronic whiteboard. 2. If it is possible to determine from an RT Scrip if a staff member is on vacation, then one could have a scrip with a custom condition checking if the transaction is assigning ownership to someone who is out. If so, alert some key players. (We have the Send Email action installed for a similar situation). Jim -Original Message- From: rt-users-boun...@lists.bestpractical.com [mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Rainer Duffner Sent: Monday, August 26, 2013 10:10 AM To: Ruslan Zakirov Cc: RT users Subject: Re: [rt-users] Technician on vacation status Am Mon, 26 Aug 2013 16:57:40 +0400 schrieb Ruslan Zakirov r...@bestpractical.com: On Thu, Aug 22, 2013 at 2:20 AM, Max McGrath mmcgr...@carthage.edu wrote: Hi all - Running RT 4.0.16. Was talking with a co-worker today about this. I was wondering if there is anything that can be put in place (easily) for when a person is out of the office for a long time. For instance , if a person is out on vacation for two weeks and not everybody is aware, maybe RT shouldn't allow tickets to be given to this person? Not sure if this is possible...or even a good idea. Just a thought. I havn't seen an extension for RT that helps with vacations and would be cool to get one. I have never tried this, but what happens if: - that user is disabled? - if that user has any old tickets in waiting for feedback status and then the tickets acutally get feedback and the user is disabled? Disabling the user is harsh - but at least, nobody will be able to assign new tickets to the user. In my organization, people just send an email to everybody when they are away for a longer time...obviously not a solution for a company with 30k active RT users. I would be really interested to know how organizations with a large number of privileged RT users handle this.
Re: [rt-users] ExtractCustomFieldValues and CF Select type
On Mon, Aug 26, 2013 at 07:30:08AM -0700, elifree wrote: I'm using RT 4.0.10 (on a test machine) and I'm testing the extension ExtractCustomFieldValues to insert a value to a custom field (Select type with a list of 4 values). The incoming mail contains the value : Type du ticket-Incident the template contains : Type du ticket|Body|Type du ticket-(.+)$|q| then The ticket is created, and displays on the main page : Type du ticket:Incident but when I modify the ticket (the basics), on the list of values of this CF, the blue line is set on (no information) and not on Incident. So if I want to modify any field there, I must re-select the value Incident before saving, otherwise it's lost. For example, the history of the ticket shows : - at the creation of the ticket : The RT System itself - Type du ticket Incident added - after modifying : '/the name of the owne/r' - Type du ticket Incident removed With CF using type Freeform there is no problem, the value is correctly inserted at creation time. I've been searching for a while, I suppose it's simple, but even after some holidays, I still don't find the reason why the correct value is not selected. I'd bet your greedy regex (.+)$ is grabbing trailing whitespace, which doesn't exactly match the value in the select one CF. You can go look in the ObjectCustomFieldValues table for the value of the CF on your test ticket and check to see what the actual Content is. -kevin pgpZtt1AupU_L.pgp Description: PGP signature
[rt-users] Most efficient way to update custom fields without creating too many transactions
Hello, Currently we are utilizing some internal systems to lookup the Customer ID and other data related to that customer to add to Incident Reports coming into RT. Some organizations include a list of IP addresses or URLs related to a specific type of Incident. Those IP addresses or URLs might belong to several customers and the processing of the ticket becomes more arduous to process by my Action modules. While this is not a problem in itself because it eventually does get processed the processing also adds a number of of Transactions that is multiples of the required custom fields to be updated. For example if there are 1000 IP addresses in a ticket and there are 4 custom fields to be updated it creates 4000 transactions for that one ticket when looping each update individually. What I'm wondering is if there's a better way to make these updates so multiple values can be added to the ticket with one transaction. Example: *This:* foreach my $customerID (@customerids) { $ticket-AddCustomFieldValue( Field = 'Customer', Value = $customerID ); } Vs. This: $ticket-AddCustomFieldValue( Field = 'Customer', Value = join(\n,@customerids) ); I noticed the Content field in the ObjectCustomFieldValues table is limited to varchar(255) so the second psudo-code example above would probably not be a good idea. ALSO - If anyone has advice on how to split incoming tickets for tons of IP address into individual tickets please let me know. I have an idea of how I'm going to do it already based on some parsing and create perl code but there's always more than one way to skin a cat. In fact, having just re-read what I wrote above, I think I might be going about this incorrectly. Perhaps I should not be adding ALL the data per Incident Report but rather per Incident. I should probably restrict the data added to the Incident Report to just Customer ID only. Perhaps the single report having many IP addresses listed should be linked to a new Incident per customer instead of creating multiple Incident Reports. That actually makes more sense. Thanks for reading! Any feedback is appreciated. -- Landon Stewart :: lstew...@iweb.com Lead Specialist, Abuse and Security Management Spécialiste principal, gestion des abus et sécurité http://iweb.com :: +1 (888) 909-4932