Re: [rt-users] Modify CF dropdown list from external DB based off of another CFs value
I had a similar need. But instead of connecting to an external database from within RT, I put together 2 scripts to check for content change and dump and load my custom fields in cron. In my case, I was pulling time sheet codes which are: client_project and task_code. Each client_project has specific task_codes so task_codes is dependent on client_project. Mine is probably way more complicated than you need and could be done easier in perl. I'm a bash man at heart so here is my method. They could be run from one script as long as the server has access to get to both databases. Since custom fields are added to transactions as the actual field values (and not relational by id's) this was the best way foe me to get this done. During the day if the finance department adds or removes codes, within an hour the RT system is updated. Also in my case, client_project and task_code are each concatenated from 4 fields in my original search (fields 1 and 2 make up client_project and fields 3 and 4 make up task_code). Hope this helps in some way and apologies for the long message... The first script is run on the external server and creates a load file. This script is run every hour between 8am and 5pm from cron. #!/bin/bash NEWFILE=/tmp/codes.txt OLDFILE=/tmp/codes.last /bin/mv $NEWFILE $OLDFILE /usr/bin/psql -A -t -c select field1,field2 from table where criteria like 'your_criteria' -U postgres_user databasename $NEWFILE if /usr/bin/diff $NEWFILE $OLDFILE /dev/null ; then echo NoChanges /tmp/codes.status else echo Changes /tmp/codes.status fi Then on another server, I look at the codes.status file and check for changes. If there are, I pull over the file and dump and load the customfieldvalues table where the customfield is in my case 1 and 2. This script is run 5 minutes after the other one. #!/bin/bash HOME=/path/to/scripts STATUSFILE=/tmp/codes.status LOADFILE=/tmp/codes.txt LASTFILE=/tmp/codes.txt LOGFILE=$HOME/codes.log PGSERVER=RT_PGSERVERNAME_REDACTED PGUSER=RT_USER_REDACTED PGDB=RT_DBNAME_REDACTED TODAY=`date +%Y-%m-%d-%H:%M:%S` echo Starting script at $TODAY # Start logging exec (tee $LOGFILE) exec 21 #Fetch status file scp root@EXT_SERVERNAME_REDACTED:$STATUSFILE /tmp/ STATUS=`cat $STATUSFILE` echo $STATUS $LOGFILE if [ $STATUS == Changes ] ; then echo Making Changes $LOGFILE # Fetch update file scp root@EXT_SERVERNAME_REDACTED:$LOADFILE /tmp/ # Clean up previous sql load files and remove the old custom fields rm -f $HOME/client_project.* rm -f $HOME/task_code.* rm -f $HOME/sequence.tmp mv $HOME/client_project_backup $HOME/client_project_backup-$TODAY psql -A -t -c select * from customfieldvalues where customfield='1' -h $PGSERVER -U $PGUSER $PGDB $HOME/client_project_backup psql -A -t -c select * from customfieldvalues where customfield='2' -h $PGSERVER -U $PGUSER $PGDB $HOME/task_code_backup psql -A -c delete from customfieldvalues where customfield='1' -h $PGSERVER -U $PGUSER $PGDB psql -A -c delete from customfieldvalues where customfield='2' -h $PGSERVER -U $PGUSER $PGDB # Add a placeholder to notify users that update is taking place psql -A -c insert into customfieldvalues (customfield,name,creator,created) values ('1','Tasks are being updated. Refresh in 2-5 minutes','22',now()) -h $PGSERVER -U $PGUSER $PGDB # Start numbering echo 5 $HOME/sequence.tmp # Parse through load file and capture variables to populate Client/Project field OIFS=$IFS IFS=' ' for m in `cat $LOADFILE` do CLIENT=`echo $m|cut -d| -f1` PROJECT=`echo $m|cut -d| -f2` CLIENTPROJECT=${CLIENT}[${PROJECT}] echo $CLIENTPROJECT $HOME/client_project.tmp done # Get Unique Client Project Codes to load to database cat $HOME/client_project.tmp |sort -u $HOME/client_project.txt OIFS=$IFS IFS=' ' for c in `cat $HOME/client_project.txt` do NAME=`echo $c |cut -d| -f1` # Send load file info to SQL file for troubleshooting, then update the database with the new Client Project Values echo psql -A -c \insert into customfieldvalues (customfield,name,creator,created) values ('1','$c','22',now())\ -h $PGSERVER -U $PGUSER $PGDB $HOME/client_project.sql psql -A -c insert into customfieldvalues (customfield,name,creator,created) values ('1','$c','22',now()) -h $PGSERVER -U $PGUSER $PGDB #Increment sequence file for sorting in the Web GUI sequence=`tail -n1 $HOME/sequence.tmp` SEQUENCE=`expr $sequence + 5` CLEANNAME=`echo $NAME |sed -e 's/\[/\|/g; s/\]//g'` # Using the formatted Client/Project codes, loop through the loadfile and capture Task codes for each Client/Project code OIFS=$IFS IFS=' ' for task in `cat $LOADFILE|grep $CLEANNAME` do TASK=`echo $task|cut -d| -f3` CODE=`echo $task|cut -d| -f4` CLIENT=`echo $task|cut -d| -f1` PROJECT=`echo $task|cut -d| -f2` CLIENTPROJECT=${CLIENT}[${PROJECT}] TASKCODE=${TASK}[${CODE}] echo psql -A -c \insert into customfieldvalues (customfield,name,creator,created,category,sortorder) values ('2','$TASKCODE','22',now(),'$CLIENTPROJECT','$SEQUENCE')\ -h $PGSERVER -U $PGUSER $PGDB
Re: [rt-users] On Correspond - Open ticket
Nick, Did you hear any answers on this request? We are researching the exact same thing since moving from 3.8.9 to 4.0.5. On Fri, Nov 30, 2012 at 8:00 AM, Nick Fennell nick.fenn...@appliansys.com wrote: Actually, some additional information to this. The scrip may in fact be working but from the opposite way to what I want/expect. When customer correspondence is received, the ticket status (on a resolved ticket) is set to Open. However, what I want is when correspondence is added to a ticket with status = New, set it to Open. -- Nick Fennell ApplianSys Support Team Leader ApplianSys Limited University of Warwick Science Park Business Innovation Centre Harry Weston Road Coventry CV3 2TX t: +44 (0) 870 7707 789 s: nick-fennell www.appliansys.com Our sales team sells by referral: Less time looking for customers, more time looking after them Subscribe: http://eepurl.com/ibKtY On 30 Nov 2012, at 12:54, Nick Fennell nick.fenn...@appliansys.com wrote: Hi All, I have a Scrip defined as follows; Description: On correspond Open Ticket Condition: On Correspond Action: Open Tickets Template: Global template: Blank Stage: TransactionCreate This worked on RT3.8.8 but now doesn't work on RT4.0.8 The only item of relevance I can see in the log file; {{{ Skipping Scrip #1 because it didn't Prepare (/opt/rt4/sbin/../lib/RT/Scrips.pm:237) }}} Any ideas? Thanks. -- Nick Fennell ApplianSys Support Team Leader ApplianSys Limited University of Warwick Science Park Business Innovation Centre Harry Weston Road Coventry CV3 2TX t: +44 (0) 870 7707 789 s: nick-fennell www.appliansys.com Our sales team sells by referral: Less time looking for customers, more time looking after them Subscribe: http://eepurl.com/ibKtY We're hiring! http://bestpractical.com/jobs We're hiring! http://bestpractical.com/jobs
Re: [rt-users] Setting owner with _Set breaks queries (may be a bug)
This is a shot in the dark and I may be way off, but is there a chance your scrip to set the owner runs in a transaction that happens after the transaction that resolves the ticket? And the chart looks for the resolved transaction to get owner at the time of resolution? Just a thought. Sent from my mobile device. On Oct 4, 2012, at 7:05 AM, Scotto Alberto al.sco...@reply.it wrote: Hi all, I think I found a bug. I have a scrip called On closure Auto set owner, which sets the owner while closing the ticket in case nobody has never taken it, so that I don't get resolved tickets assigned to Nobody in particular. Everything seemed ok until today a colleague of mine noticed something weird with a chart that acts like a hall of fame, showing the top Owners. This chart is very simple: it retrieves all the tickets and it is grouped by Owner.RealName. The weird thing is not the chart itself, but the fact that the following two queries should return the same tickets but they don’t: - Owner.RealName = 'Nobody in particular' returns 706 tickets - Owner = 'Nobody in particular' returns 369 tickets The results of the former are not correct: it includes also the tickets for which the owner was set by my scrip, though the column “Owner” is correct (filled with “John Doe”, not “Nobody in particular”). Here are the relevant lines of the code of my scrip: # get actor ID my $Actor = $self-TransactionObj-Creator; my $tkt = $self-TicketObj; # try to change owner my ($status, $msg) = $tkt-_Set(Field = 'Owner', Value = $Actor, RecordTransaction = 0); I solved the problem using SetOwner instead of _Set, like this: my ($status, $msg) = $tkt-SetOwner($Actor); With the new code, the tickets whose owner is set by my scrip don’t get caught by the query Owner.RealName = 'Nobody in particular'. Looks like _Set doesn’t update correctly some field in some table in the DB. But I have no idea of what field and what table! I had a quick look at the DB, and it seems that the relation ticket-owner is based on an user ID, not a string (the real name). Finally, a weird thing with the chart: on the right side, it displays all the owners and the number of tickets associated. For “Nobody in particular”, the number is 369 (correct); but if I click on this number it generates the query “Owner.RealName = 'Nobody in particular'” saying “Found 706 tickets”. The questions are: Should I file a bug? How can I “convert” the tickets that were processed with the old code? Hope everything is clear Thank you very much! Alberto Scotto Blue Reply Via Cardinal Massaia, 83 10147 - Torino - ITALY phone: +39 011 29100 al.sco...@reply.it www.reply.it blue.png -- The information transmitted is intended for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. Final RT training for 2012 in Atlanta, GA - October 23 24 http://bestpractical.com/training We're hiring! http://bestpractical.com/jobs Final RT training for 2012 in Atlanta, GA - October 23 24 http://bestpractical.com/training We're hiring! http://bestpractical.com/jobs
Re: [rt-users] Add custom status tickets to My Tickets?
Not sure if you got a reply yet, but I think depending on what version you are using, you may have an edit in the top right corner of the main search on the home page. If you click that and choose advanced you should see a query for __currentuser__ add in the where clause the status = 'newstatus' you want. Then save it. I believe if you're an admin, you can save it as a global change. But I'll have to log in and check to be sure. Sent from my mobile device. On Sep 10, 2012, at 4:06 AM, Johan Sjöberg johan.sjob...@deltamanagement.se wrote: Hi. I have added a new status to the active statuses setting in RT_Siteconfig. Is it possible to make tickets with this status show up in the list “xx highest priority tickets I own” at “RT at a glance”? At the moment it seems like only “new” and “open” tickets are listed there. Regards, Johan
Re: [rt-users] Using Ajax with Mason in RT
It may be a shot in the dark. But are you by chance editing the files in a windows text editor and copying them over? Or more specifically was it originally created on a windows box? There may be carriage returns in the file that are causing issues. If that is the case you can dos2unix the file and clean it up. I may be way off, but I have run into that in the past quite a bit with other *nix apps when users edit files in winworld. Sent from my mobile device. On Aug 16, 2012, at 8:00 AM, Martin Drasar dra...@ics.muni.cz wrote: On 16.8.2012 13:37, Paul Tomblin wrote: Unfortunately somewhere between RT and Mason and perl a lot of the errors go unreported - you just have to narrow down where the problem is with a lot of calls to $RT::Logger-debug. But first things first, you need to turn up the logging in /opt/rt4/etc/RT_SiteConfig.pm Set( $LogToScreen, debug); Set( $LogToSyslog, debug); You also need to have a look at line 15 and before in your component. When I said that I saw nothing in rt.log I meant nothing of importance. I have the debug logging turned on. As for the line 15 - I have posted the entire component two mails before. It only has 12! lines and the reported error is at EOF. That would indicate that there might be something unfinished like missing bracket or such. However, by looking at the code, I can't see anything wrong. First it was almost direct copy of the code you sent at first and then when it did not work I used component from share/html/Helpers/Autocomplete/ by Thomas advice as a template. But nothing seems to work. I have made even smaller component, in fact smallest that does not 403 on me: %flags inherit = undef; /%flags Ajax request on this component fails with this error: Error during compilation of /home/RT/RT-4.0.6/local/html/Ticket/Elements/TestComponent:brsyntax error at (eval 1164) line 12, at EOF It is as before, the error should be at line 12, but the component itself has only 3 lines. There is something fishy going on... Martin
[rt-users] Character rendering in tickets
I'm sure there is a setting somewhere for this, but we have been getting strange characters in emails. For instance if someone send an email with the word don't it shows up as don’t. This is probably something simple so forgive me if it's something easy to figure out. I haven't really done any research yet and though someone may have a quick answer for me to save some time. Thanks!! Joe Sent from my mobile device.
Re: [rt-users] Incrementally Upgrading RT
What database are you using. I went the exact path you are doing a few months ago from 3.8.7 to 4.0.5 and someone here posted a link with very straightforward instructions. I am using Postgres and just did a pg_dump of the db, created a new one with a different name and loaded my dump file into it. Then on the new server, got everything installed per instructions but instead of initializing database ran: rt-upgrade-database (I think) And it prompts you to step through each version of the db one at a time. If I can find the link, I'll send it to you. I did run into an issue on one of my installations where custom fields are handled a little differently (only if the custom fields are linked to one another) but I put together some scripts with a little help from the list and fixed it. Since I was moving to another server and was able to test a few dry runs, the whole upgrade took about 30 min to an hour to complete. Sent from my mobile device. On Aug 1, 2012, at 2:27 AM, Jenni Wilson jenni.wil...@strategicdata.com.au wrote: Hello, We are in the process of upgrading RT from version 3.8.7. We are starting with a fresh install on a new server. We have RT set up and the plan is to delete the current database on the new server and reimport the data from our old server and then run the update scripts, we predict this will take 2-3 hours. Collegues have vague memories that when upgrading from version 2 to 3 they were able to upgrade in a similar manner, but in order to minimise the downtime, they were able to use tools that allowed them to do the bulk of the data upgrade during office hours, then take down the old version and do an incremental migration to move any data that has been added since the bulk data extraction. The insert action on the rt-setup-database script mentions a supplementary datafile. Could this action be used to perform the incremental upgrade I describe above? If so what is the format of the datafile and is there any tools we can use to create it? We are using a postgres database. Thanks, Jenni Wilson Strategic Data Tel: 03 9340 9000 Fax: 03 9340 9090
Re: [rt-users] Add new column to quick search
If you have the indexing set up (which I highly recommend because it's crazy fast comparatively). Why not make a saved search (public or private) and attach it to a dashboard. If you need multiple ones per queue. You would need several. But you'd only have to make them once. May not work for your needs, but it is a thought. Sent from my mobile device. On Jul 12, 2012, at 8:31 AM, k...@rice.edu k...@rice.edu wrote: On Thu, Jul 12, 2012 at 12:26:09PM +0100, Asanka Gunasekera wrote: Hi I am using RT 4 and I need to add new column that would show all resolved ticket count to quick Search and I could not find any place that would give me some step by step instruction how to do this Can some one point me how do this Thanks and Regards Hi Asanka, This is a really, really bad idea unless your ticket is expected to be so low that a trouble ticket system is not really needed. It will result in a basically unbounded slowdown of the main RT screen over time. My two cents. Cheers, Ken
[rt-users] Customize create new ticket
We recently migrated from 3.8.8 to 4.0.5 and there are some great new features which everyone is happy with but... Due to several long custom fields we have, the Basics section on the default Create a new ticket screen tends to go off the screen depending on user resolution. I looked at modifying Create.html to suit our needs, but was wondering if there was an easier way to go about it. Users have also asked about moving the date part to the main screen as well. Has anyone accomplished such a task and would like to share details? Thanks in advance!! Joe Sent from my mobile device.
Re: [rt-users] Customize create new ticket
Unfortunately due to contracts I don't think I can, but I'll see if I can craft one a redact what needs to be hidden. Sent from my mobile device. On Jul 5, 2012, at 11:12 AM, Ruslan Zakirov r...@bestpractical.com wrote: Hi, A screenshot would be nice. On Thu, Jul 5, 2012 at 3:30 PM, Joe Harris drey...@gmail.com wrote: We recently migrated from 3.8.8 to 4.0.5 and there are some great new features which everyone is happy with but... Due to several long custom fields we have, the Basics section on the default Create a new ticket screen tends to go off the screen depending on user resolution. I looked at modifying Create.html to suit our needs, but was wondering if there was an easier way to go about it. Users have also asked about moving the date part to the main screen as well. Has anyone accomplished such a task and would like to share details? Thanks in advance!! Joe Sent from my mobile device. -- Best regards, Ruslan.
Re: [rt-users] newbiew question
We use this extension and it works great! Sent from my mobile device. On Jun 26, 2012, at 12:04 PM, Kevin Riggle kev...@bestpractical.com wrote: Excerpts from Khapare Joshi's message of Tue Jun 26 11:58:21 -0400 2012: a very new to RT, just wondering is there a doc on how to configure RT to handle tickets via mail. so that if i say status resolved , status reply it would reflect on the RT system. See http://search.cpan.org/dist/RT-Extension-CommandByMail/lib/RT/Extension/CommandByMail.pm which sounds like what you want. - KevinR
[rt-users] Merging 2 RT systems
I have 2 instances of RT running at my location. As of last week they are both running 4.0.5 (Postgres 8.4.11) and we would like to merge them into one system within the next quarter. Just to give you a little background on the systems: System A: Has been running for about 9 years and has approximately 30,000 tickets System B: Has been running for about 1.5 years and has approximately 4,000 tickets Also there are some specific custom fields which are heavily used. My main question is: What is the best method to merge the 2 systems. I have a couple of thoughts on what I can do to accomplish it and would like some advice. Method 1: Migrate System A into System B At the time of migration, delete all tickets in System A up to the current ticket number in System B. This way all references within the tickets would remain intact, the custom fields would function normally and after manipulating the sequence numbers to start at the next id. Method 2: Migrate System A into System B And add a field to the tickets table that could be searchable within RT to cross reference old ticket number to new ticket number. The more I say that the more I don't like the idea. It would definitely make for tedious upgrades in the future. Method 3: There may be a method someone else has used or a written procedure for accomplishing this that I do not know about. I am wide open for discussions, ideas, thoughts, etc. Any insight would be greatly appreciated.
[rt-users] Custom template/scrip with conditional responses
Is there a way in templates to build one with a conditional response based on transaction type? (4.0.5) Example: I have a template for owner change which works well. On owner change notify of change adds the new owner in the subject like so: Subject: Owner change: {$Ticket-OwnerObj-Name}: {$Ticket-Subject} {$Transaction-CreatedAsString}: Request {$Ticket-id} was acted upon. Transaction: {$Transaction-Description} Queue: {$Ticket-QueueObj-Name} Subject: {$Transaction-Subject || $Ticket-Subject || {$Ticket-OwnerObj-Name} || (No subject given)} Owner: {$Ticket-OwnerObj-Name} Requestors: {$Ticket-RequestorAddresses} Status: {$Ticket-Status} Ticket URL: {RT-Config-Get('WebURL')}Ticket/Display.html?id={$Ticket-id} Mobile URL: {RT-Config-Get('WebURL')}m/ticket/history?id={$Ticket-id} What I would like is to have one like that for Status change, but I don't want the users to get multiple emails on the same transaction. So if I could what an if statement around the subject line to determine what the change was and use one template for multiple purposes. If owner changes - Show new owner in subject If status change - Show new status in subject and/or even if both conditions, add both. Is this even possible? Thanks in advance for any insight! Joe
Re: [rt-users] Search Ticket Transaction History in Query Builder?
This is not available in the query builder. I asked the same question a while back and basically the query builder works on the tickets taw only and cannot do cross queries. I ended up writing a shell script for my needs which basically was any update performed by any member of a particular group yesterday. The next morning it is sent to the manager (or the group) depending on the system and manager. I can share if you're interested. I may have already shared an example on the list here if you search back a month or two. Sent from my mobile device. On Jun 12, 2012, at 5:22 PM, Brian Schrock brian.schr...@gardencitygroup.com wrote: All, The issues are: 1) How do I search transaction history using the query builder? 2) How do I convert an SQL statement like the one lower down into something I can use in a custom report? People here in my company have asked me if they can get a report on the number of tickets whose status was changed from stalled or resolved into open during a specific time frame because of an external e-mail from a customer. I think I have the SQL statement working, but I cannot figure out how to do the same thing with RT’s query builder. I have been all over google and the docs and I am not finding anything useful to help point me in the right direction. It looks like this issue comes up every so often on the mailing list, but no one has really been answered well, I hope I fare better. J Any suggestions or help would be greatly appreciated. SELECT Tickets.id, Tickets.Created, Tickets.Subject, Tickets.Status, Queues.Name FROM Transactions, Tickets, Queues WHERE Tickets.Queue=Queues.id AND Queues.Name=Test Queue 1 AND Tickets.Status='open' AND Transactions.ObjectId=Tickets.id AND Transactions.OldValue REGEXP stalled|resolved AND Transactions.NewValue='open' AND Transactions.Data = 'Ticket auto-opened on incoming correspondence' AND Transactions.Created = @START AND Transactions.Created = @FINISH Brian Schrock Linux Administrator Network Operations The Garden City Group, Inc. 5151 Blazer Parkway Suite A Dublin, ohio 43017 Telephone: 614-289-5457 Mobile: 614-745-5491 Email: brian.schr...@gardencitygroup.com This communication (including any attachments) is intended for the use of the intended recipient(s) only and may contain information that is confidential, privileged or legally protected. Any unauthorized use or dissemination of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender by return e-mail message and delete all copies of the original communication. Thank you for your cooperation.
Re: [rt-users] how to prevent duplicate emails
We are in the same boat. I have a plan to change all of the scrips on reply/comment/resolve to use a default transaction template that gives all info to all users (admincc, requestor, etc) just once on each transaction. In our case we use rt internally so we don't have the need to comment without the requestor seeing. So in our case the difference just causes confusion. But to answer your question it is in the scripts and templates. If you want to keep the defaults as they are for comment vs reply, change the apply to requestor on resolve scrip to include the comments. Sent from my mobile device. On May 18, 2012, at 4:42 PM, Sandra Wittenbrock san...@hpcrd.lbl.gov wrote: Hello, When I resolve a ticket, I want the requester to receive the ticket comments, and a notice the ticket is resolved, in just one email. Someone out there must have this set up. I've been playing with TransactionBatch to see if that could help prevent duplicates. Currently, I use a default resolve scrip, which notifies the requester when the ticket is resolved. The template does not include the comments from the resolution, only some generic text. I've been going in circles trying to have the requester get only one ticket upon resolution. An email which includes the resolution comments. If when I resolve the ticket, I change the Update Type to Reply to Requestors, the requester gets one email, without the comments. Here is the summary of my scrips. #DescriptionStageConditionActionTemplate 14Notify Requestor on CorrespondTransactionCreateOn CorrespondNotify RequestorsAdmin Correspondence 13Notify requestor when ticket is takenDisabledOn Owner ChangeNotify RequestorsOwner Changed 8On Comment Notify AdminCcs as CommentTransactionBatchOn CommentNotify AdminCcs as CommentAdmin Comment 9On Comment Notify Other Recipients as CommentDisabledOn CommentNotify Other Recipients as CommentCorrespondence 5On Correspond Notify AdminCcsTransactionBatchOn Correspond Notify AdminCcsAdmin Correspondence 6On Correspond Notify CcsTransactionBatchOn Correspond Notify CcsCorrespondence 7On Correspond Notify Other RecipientsDisabledOn Correspond Notify Other RecipientsCorrespondence 17On Correspond Notify RequestorTransactionBatchOn Correspond Notify Owner, Requestors, Ccs and AdminCcsAdmin Correspondence 1On Correspond Open TicketsTransactionCreateOn Correspond Open TicketsBlank 3On Create Autoreply To RequestorsTransactionCreateOn Create Autoreply To RequestorsAutoreply 4On Create Notify AdminCcsTransactionCreateOn Create Notify AdminCcsTransaction 15On Owner Change Notify AdminccTransactionCreateOn Owner ChangeNotify AdminCcs as CommentOwner Changed 2On Owner Change Notify OwnerDisabledOn Owner Change Notify OwnerOwner Changed 18On Owner Change Notify RequestorTransactionBatchOn Owner ChangeNotify RequestorsOwner Changed 10On Resolve Notify RequestorsTransactionBatchOn Resolve Notify Owner, Requestors, Ccs and AdminCcsResolved 11On transaction, add any tags in the transaction's subject to the ticket's subjectTransactionCreateOn TransactionExtract Subject TagBlank (Check box to delete) I've looked at the mysql settings/tables. I've looked at the logs, and am trying to see where in the code it is asking to send all these emails. There is a section where it prevents sending emails to blacklisted addresses. It would be nice if it prevented duplicates. I haven't used perl in a while, so haven't been able to modify. Sandra
Re: [rt-users] rt mail merge?
If it were me I would create a bash script that would loop through the list of email addresses and for each one sent an email to the queue with the requestor set to the email address. I have some scripts that send ticket messages that I can grab code for and send it to you if you're interested. Joe Sent from my mobile device. On Apr 30, 2012, at 7:19 PM, Josh Tackitt tacki...@reed.edu wrote: Is there an extension or some other way to essentially do a mail merge ticket creation in RT? We have about 50 people to email. We'd like to use comma-delimited data, including email address to create a customized ticket/email for each one. Currently our plan is to just use other mail merge software to send the email with the reply-to set to an RT address so that at least when they reply the ticket will be created. Which would be ok. It'd just be very nice to have a ticket # before they reply. thanks, Josh -- Reed College Computer Hardware Services
Re: [rt-users] Tests
In your script add: use libs /opt/rt4/lib/ To see if for some reason your env vars aren't seeing the RT path. It may be use lib and not use libs. I'm not at workstation to log in and check. Sent from my mobile device. On Mar 28, 2012, at 5:56 PM, Paul Tomblin ptomb...@xcski.com wrote: Is it possible to do a perl unit test that uses the RT config file? I tried this is my test: #!perl -T use Test::More tests = 1; use RT; BEGIN { RT::LoadConfig(); use_ok( 'RTx:FooBar' ); }; And I get some errors about being unable to use RT_SiteConfig.pm: t/01-db.t . Couldn't load RT config file RT_SiteConfig.pm: Insecure dependency in require while running with -T switch at /opt/rt4/lib/RT/Config.pm line 904. BEGIN failed--compilation aborted at t/01-db.t line 11. # Looks like your test exited with 2 before it could output anything. t/01-db.t . Dubious, test returned 2 (wstat 512, 0x200) I've got RTHOME and PERL5LIB set so that it can find the RT installation and libs. -- http://www.linkedin.com/in/paultomblin http://careers.stackoverflow.com/ptomblin
Re: [rt-users] no response after login
Make sure the noauth folder is owned by the web user. And I think after the change you need to delete mason cache. Someone correct me if I'm wrong. I think my initial installation I had this issue and it was the fix. Sent from my mobile device. On Mar 28, 2012, at 6:45 PM, ahmad shaban eng_ahmadsha...@yahoo.com wrote: Dear , I installed a new version of rt 4.0.5 on Ubuntu with MySQL database. After login with root I receive no response , just redirects me to /NoAuth/Login.html ..i have review the configuration as below site config Set( $rtname, 'rtsystem'); Set($Organization, rtsystem.ipmagix.com); Set($Timezone, 'Africa/Cairo'); #Set($WebBaseURL, http://rtsystem.ipmagix.com/;); #Set($WebPath,/); Set($WebDomain,'10.10.1.110'); Set($SendmailPath, /usr/lib/sendmail); Set($LogToSyslog, ''); Set($LogToFile, 'debug'); Set($LogDir, '/opt/rt4/var/log'); Set($LogToFileNamed , rt.log); VirtualHost config VirtualHost *:80 ServerAdmin webmaster@localhost ServerName rtsystem DocumentRoot /opt/rt4/share/html AddDefaultCharset UTF-8 ErrorLog /opt/rt4/var/log/apache2.error TransferLog /opt/rt4/var/log/apache2.access SetHandler /opt/rt4/sbin/rt-server.fcgi AddHandler fastcgi-script fcgi ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/ Location /NoAuth/images SetHandler default /Location Location / Order allow,deny Allow from all AddDefaultCharset UTF-8 SetHandler perl-script PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app /opt/rt4/sbin/rt-server /Location Perl use Plack::Handler::Apache2; Plack::Handler::Apache2-preload(/opt/rt4/sbin/rt-server); /Perl /VirtualHost apache2.access log [28/Mar/2012:15:50:58 +0200] GET / HTTP/1.1 200 1696 [28/Mar/2012:15:50:59 +0200] GET /NoAuth/images/bpslogo.png HTTP/1.1 200 3929 [28/Mar/2012:15:50:59 +0200] GET /NoAuth/css/print.css HTTP/1.1 200 989 [28/Mar/2012:15:50:59 +0200] GET /NoAuth/js/squished-6812ec8beec9403a8b720b6be4f3d8c9.js HTTP/1.1 200 62655 [28/Mar/2012:15:50:59 +0200] GET /NoAuth/css/aileron-squished-14db9fc647cded1a2cab3bdfc63aad2f.css HTTP/1.1 200 15297 [28/Mar/2012:15:51:00 +0200] GET /NoAuth/css/web2/images/background-gradient.png HTTP/1.1 200 394 [28/Mar/2012:15:51:05 +0200] POST /NoAuth/Login.html HTTP/1.1 200 26 [28/Mar/2012:15:51:14 +0200] OPTIONS * HTTP/1.0 200 - [28/Mar/2012:15:51:20 +0200] OPTIONS * HTTP/1.0 200 - rt.log [Wed Mar 28 13:50:39 2012] [debug]: RT's GnuPG libraries couldn't successfully read your configured GnuPG home directory (/opt/rt4/var/data/gpg). PGP support has been disabled (/opt/rt4/sbin/../lib/RT/Config.pm:595) [Wed Mar 28 13:50:39 2012] [debug]: The RTAddressRegexp option is not set in the config. Not setting this option results in additional SQL queries to check whether each address belongs to RT or not. It is especially important to set this option if RT recieves emails on addresses that are not in the database or config. (/opt/rt4/sbin/../lib/RT/Config.pm:454) [Wed Mar 28 13:51:05 2012] [info]: Successful login for root from 10.10.1.106 (/opt/rt4/sbin/../lib/RT/Interface/Web.pm:670) So please if you have any idea please feed me back BR Ahemd Shaban
Re: [rt-users] Searching for all tickets updated yesterday by a particular user
I wrote a bash script to accomplish this exact task. The search queries within rt only support queries against the tickets table while transactions hold all relevant info on daily updates by a particular user. When I get a chance, I'll log into my office network, sanitize the script and post it. The one I wrote grabs all users in a group of my choosing and emails the entire list to all users in that group. Sent from my mobile device. On Mar 16, 2012, at 5:14 PM, 20/20 Lab l...@pacbell.net wrote: On 03/16/2012 9:35 AM, Thomas Smith wrote: Hi, I would like to search for all tickets updated yesterday by a particular user--I see the option to search Last updated by, but this will only show if a given user was the last to touch a ticket. Is there a way to search for all tickets that were updated by a given user on a given day? ~ Tom Click on new search. You can select all your options on the left if your more comfy. LastUpdatedBy = 'user' AND Updated = '2012-03-15' However I dont think it will work once it has been updated by someone else. ie, Ticket1: Thing1 updated it yesterday because of an invoice received, Thing2 updated it today because of the items received. Ticket one will then be excluded because it was updated today by a different user. -Matt
Re: [rt-users] Searching for all tickets updated yesterday by a particular user
Here is my script to capture yesterdays ticket updates. It can be changed as needed to meet your needs. The main thing was to get the query to capture transactions for tickets and the query is below for that.This is 2 files, the script and the email header. Script is at the top and header at the bottom. Hope this helps! Joe #!/bin/bash # Set variables HOME=/organization/scripts/ticketing DB=databasename DBHOST=databasehostname DBUSER=databaseuser # Prepare for line breaks in results newline=' ' OIFS=$IFS IFS=$newline #Capture yesterdays date YESTERDAY=`date +%Y-%m-%d -d yesterday` DAYOFWEEK=`date +%A -d yesterday` YEAR=`date +%Y -d yesterday` MONTH=`date +%m -d yesterday` DAY=`date +%d -d yesterday` # Create file to be emailed and replace template data with date info touch $HOME/tickets.$YESTERDAY cat $HOME/tickets.header |sed -e s/YESTERDAY/$YESTERDAY/g |sed -e s/DAYOFWEEK/$DAYOFWEEK/g $HOME/tickets.$YESTERDAY #Get User ID's from technical operations users (GROUPID variable is the group you want to capture) GROUPID=140 USERS=`psql -A -t -c select a.id,a.emailaddress from users a,groups b,groupmembers c where a.id=c.memberid and b.id=c.groupid and b.id=$GROUPID -U $DBUSER -h $DBHOST $DB` # Loop through users query and search for yesterdays ticket updates for user in $USERS do USERID=`echo $user |cut -d\| -f1` EMAIL=`echo $user |cut -d\| -f2` # Add/Append data to the email body file for each user in the group created above echo $newline $HOME/tickets.$YESTERDAY echo Begin tickets updated by $EMAIL $HOME/tickets.$YESTERDAY TICKET=`psql -A -t -c select distinct b.id from users a,tickets b,groups c,groupmembers d, transactions e where a.id=e.creator and b.id=e.objectid and a.id=d.memberid and c.id=d.groupid and c.id=140 and a.id=$USERID and date_part('year',e.created) = '$YEAR' and date_part('month',e.created) = '$MONTH' and date_part('day',e.created) = '$DAY'-U $DBUSER -h $DBHOST $DB` # Grab subject and create link to ticket and add to email body file for ticket in $TICKET do OIFS=$IFS IFS=$newline SUBJECT=`psql -A -t -c select distinct subject from tickets where id=$ticket -U $DBUSER -h $DBHOST $DB` echo $SUBJECT $HOME/tickets.$YESTERDAY echo http://ticketing.organization.com/Ticket/Display.html?id=$ticket; $HOME/tickets.$YESTERDAY echo -- $HOME/tickets.$YESTERDAY done echo $newline End tickets updated by $EMAIL $HOME/tickets.$YESTERDAY echo $newline $HOME/tickets.$YESTERDAY done #Wrap it all up and send the email /usr/sbin/sendmail -t $HOME/tickets.$YESTERDAY # End of script #Beginning of header file To: net_ale...@organization.com From: Net Alerts net_ale...@organization.com X-TLS: Technical Operations Ticket updates for DAYOFWEEK YESTERDAY Subject: Technical Operations Ticket updates for DAYOFWEEK YESTERDAY Below are the departmental ticket updates for DAYOFWEEK. # End of header file
[rt-users] make upgrade-database error
I am going from 3.8.8 to 4.0.4 and am running into an issue during the upgrade-database part. When it goes from 3.8.8 to 3.8.9 there is an error that shows: [Thu Mar 8 12:09:37 2012] [warning]: Use of uninitialized value in string eq at /usr/local/src/rt-4.0.4/sbin/../lib/RT/Template.pm line 627, line 1. (/usr/local/src/rt-4.0.4/sbin/../lib/RT/Template.pm:627) It looks like it gets past that and moves on through till it gets to 3.9.5 where it dumps me out: Processing 3.9.5 Now populating database schema. [Thu Mar 8 12:09:50 2012] [crit]: DBD::Pg::st execute failed: ERROR: more than one row returned by a subquery used as an expression (/usr/local/src/rt-4.0.4/sbin/../lib/RT.pm:341) DBD::Pg::st execute failed: ERROR: more than one row returned by a subquery used as an expression make: *** [upgrade-database] Error 255 This is our second upgrade as we have 2 RT systems. The other upgrade (3.8.7 to 4.0.4) went flawless. This upgrade is from an RT installation that has more custom fields and maybe a few more templates/scrips, but essentially it is very similar to the original one. Any ideas? Thanks in advance! Joe
[rt-users] Upgrade question
We have 2 rt systems currently (4.0.4 and 3.8.8). A few months ago I upgraded to 4.0.4 from 3.8.7 and with the information here and tutorials I found it was a very smooth transition. I now want to upgrade the other system and have a couple of questions. We are a virtual shop so I am wondering if I simply clone our 4.0.4 system, change the name, IP, postfix mail settings and aliases, dump and load the database (to a new name) and upgrade the db to 4.0.4 will it work? Or do I need to recompile/reconfigure the software and change --with-db-database=newdbname? If I need to reconfigure, is there a simple way of doing that without having to go through the entire installation? Thanks in advance! Joe Sent from my mobile device. RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012
[rt-users] Communication between multiple RT systems
We currently have 2 RT installations. One is 4.0.4 and the other is 3.8.8 (which is on schedule to upgrade very soon). From time to time, a ticket is submitted to one system that should have been sent to the other and sometimes a task will get passed from one to another as the task could have multiple parts. I know I have seen dome information about this before, but have not found what I'm looking for yet. If someone could point me to some documentation, I would greatly appreciate it. Thanks in advance! Joe RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012
Re: [rt-users] rt-4.0.5 - How to populate a custom field using a web service?
I am looking at rt-4.0.5 and it seems that you can tie a custom field into a web service. I created a PHP web form to try and drive requestors to put in the proper information. What I provided was a drop down box to show custom fields pulled from the RT database and then build a email to be sent to the queue the user chose. Is there any documentation about using a webservice or does someone have an example of its use? Or if someone has details about doing something like I described above using another method I'd love to hear about that too. The following is the PHP code I used to pull the info (billing codes) from the customfieldvalues table where the ID of the custom field I am using is 1. Since this is a field that has a parent/child relationship, this creates an option group heading with the selectable fields in the drop down box under each option group. If you have just one field and no relationships, it is much more simple. This requires a database connection string which is in a file outside of my web directory. I know this may not be exactly what you are looking for, but the main part you are asking about I believe the part you are looking for specifically is down at the end of building the message where the custom fields are pushed into the email with commandbymail. Note, I found out the custom fields could NOT have any spaces in them for commandbymail to function. I hope this helps and is not too confusing. I am quite sure some of this could be done more efficiently. I am not a developer. I have a good understanding of php, but not always the most efficient way. ---connection_file--- ?php $host = database_server; $user = postgres; $pass = dbpassword; $db = rtdb; $conn_rtdb = pg_connect(host=$host dbname=$db user=$user password=$pass) or die(Couldn't Connect to $db.pg_last_error()); ? ---connection_file--- ---ticket_form--- ?php //set page action based on how the user gets to the page (sendMail or showForm) $action = $_REQUEST['action']; global $action; ---form_code--- function showForm() { include('/path/to/connection_file'); $getclientproject = pg_query($conn_rtdb, select name from customfieldvalues where customfield=1 order by name)or die(Get ClientProject . pg_last_error()); $fields=pg_num_fields($getclientproject); echo trtdTask Code/tdtdselect name=\taskcode\; echo option value=\\ selectedSelect.../option; for ($i=0; $i pg_num_fields($getclientproject); $i++) while ($row = pg_fetch_row($getclientproject)) { for ($f=0; $f $fields; $f++) { echo optgroup label=\$row[$f]\$row[$f]; $gettaskcodes = pg_query($conn_rtdb, select c.name from customfieldvalues a,attributes b,customfieldvalues c where a.name=b.content and b.objectid=c.id and b.content='$row[$f]' order by c.name,c.sortorder)or die(Get Codes .pg_last_error()); $fields=pg_num_fields($gettaskcodes); for ($i=0; $i pg_num_fields($gettaskcodes); $i++) while ($row = pg_fetch_row($gettaskcodes)) { for ($f=0; $f $fields; $f++) { echo option value=\$row[$f]\$row[$f]; echo /option; }} echo /optgroup; }} echo /select/td/tr; } //end action showForm ? ---form_code--- Then I gather the form data to be pushed into RT as an email. I use the commandbymail plugin to allow fields to be populated via email. Then I build the email with PHP code to send to RT: ---form_submit--- ?php function sendMail() { include(/path/to/connection_file); // Gather form data... each item that is pulled had its own field in the web form $to = $_REQUEST['sendto'] ; //whatever queue they chose in a dropdown box on the web form $from = $_REQUEST['from_email'] ; $project = $_REQUEST['Project'] ; $priority = $_REQUEST['Priority'] ; $duedate = $_REQUEST['duedate'] ; $time = $_REQUEST['time'] ; $taskcode = $_REQUEST['taskcode'] ; $admincc = $_REQUEST['AdminCC'] ; //Get client project from RT database $getcp = pg_query($conn_rtdb, select a.content from attributes a, customfieldvalues b where b.name='$taskcode' and b.id=a.objectid)or die(Get CP .pg_last_error()); $rescp = pg_fetch_row($getcp); $cltprj = $rescp[0]; //create due date timestamp, concatenate fields and clean up strange characters $due = $duedate. .$time ; $subjectdetails = pg_escape_string(stripslashes($_REQUEST['SubjectDetails'])) ; $body = pg_escape_string(stripslashes($_REQUEST['Body'])) ; $subject = $project.: . $subjectdetails ; //Build data to be pushed into ticket for commandbymail $fields = array(); $fields{Project} = Project; $fields{SubjectDetails} = Subject; $fields{Body} = Message; foreach($fields as $a = $b) { $bodymessage .= sprintf(%20s: %s\n,$b,$_REQUEST[$a]); } //Build message headers $headers = From: $from\n; $headers .= Reply-To: $from\n; $headers .= MIME-Version: 1.0\n; $headers .= Content-Type: multipart/related; type=\multipart/alternative\;
Re: [rt-users] rt-4.0.5 - How to populate a custom field using a web service?
Ahh. I see what you're asking now. Wish I could offer more. Sent from my mobile device. On Feb 6, 2012, at 7:34 AM, Jim Lesinski jim.lesin...@gmail.com wrote: Hi Joe, that's good information but I am looking to be able to use the web service to populate the autocomplete values for one specific RT CustomField within RT. When you are setting up a custom field the screen even says that you can use a web service to populate the field's values, but I am not sure how to do that and I cannot find documentation. Thanks, Jim Lesinski On Feb 6, 2012, at 7:19 AM, Joe Harris drey...@gmail.com wrote: I am looking at rt-4.0.5 and it seems that you can tie a custom field into a web service. I created a PHP web form to try and drive requestors to put in the proper information. What I provided was a drop down box to show custom fields pulled from the RT database and then build a email to be sent to the queue the user chose. Is there any documentation about using a webservice or does someone have an example of its use? Or if someone has details about doing something like I described above using another method I'd love to hear about that too. The following is the PHP code I used to pull the info (billing codes) from the customfieldvalues table where the ID of the custom field I am using is 1. Since this is a field that has a parent/child relationship, this creates an option group heading with the selectable fields in the drop down box under each option group. If you have just one field and no relationships, it is much more simple. This requires a database connection string which is in a file outside of my web directory. I know this may not be exactly what you are looking for, but the main part you are asking about I believe the part you are looking for specifically is down at the end of building the message where the custom fields are pushed into the email with commandbymail. Note, I found out the custom fields could NOT have any spaces in them for commandbymail to function. I hope this helps and is not too confusing. I am quite sure some of this could be done more efficiently. I am not a developer. I have a good understanding of php, but not always the most efficient way. ---connection_file--- ?php $host = database_server; $user = postgres; $pass = dbpassword; $db = rtdb; $conn_rtdb = pg_connect(host=$host dbname=$db user=$user password=$pass) or die(Couldn't Connect to $db.pg_last_error()); ? ---connection_file--- ---ticket_form--- ?php //set page action based on how the user gets to the page (sendMail or showForm) $action = $_REQUEST['action']; global $action; ---form_code--- function showForm() { include('/path/to/connection_file'); $getclientproject = pg_query($conn_rtdb, select name from customfieldvalues where customfield=1 order by name)or die(Get ClientProject . pg_last_error()); $fields=pg_num_fields($getclientproject); echo trtdTask Code/tdtdselect name=\taskcode\; echo option value=\\ selectedSelect.../option; for ($i=0; $i pg_num_fields($getclientproject); $i++) while ($row = pg_fetch_row($getclientproject)) { for ($f=0; $f $fields; $f++) { echo optgroup label=\$row[$f]\$row[$f]; $gettaskcodes = pg_query($conn_rtdb, select c.name from customfieldvalues a,attributes b,customfieldvalues c where a.name=b.content and b.objectid=c.id and b.content='$row[$f]' order by c.name,c.sortorder)or die(Get Codes .pg_last_error()); $fields=pg_num_fields($gettaskcodes); for ($i=0; $i pg_num_fields($gettaskcodes); $i++) while ($row = pg_fetch_row($gettaskcodes)) { for ($f=0; $f $fields; $f++) { echo option value=\$row[$f]\$row[$f]; echo /option; }} echo /optgroup; }} echo /select/td/tr; } //end action showForm ? ---form_code--- Then I gather the form data to be pushed into RT as an email. I use the commandbymail plugin to allow fields to be populated via email. Then I build the email with PHP code to send to RT: ---form_submit--- ?php function sendMail() { include(/path/to/connection_file); // Gather form data... each item that is pulled had its own field in the web form $to = $_REQUEST['sendto'] ; //whatever queue they chose in a dropdown box on the web form $from = $_REQUEST['from_email'] ; $project = $_REQUEST['Project'] ; $priority = $_REQUEST['Priority'] ; $duedate = $_REQUEST['duedate'] ; $time = $_REQUEST['time'] ; $taskcode = $_REQUEST['taskcode'] ; $admincc = $_REQUEST['AdminCC'] ; //Get client project from RT database $getcp = pg_query($conn_rtdb, select a.content from attributes a, customfieldvalues b where b.name='$taskcode' and b.id=a.objectid)or die(Get CP .pg_last_error()); $rescp = pg_fetch_row($getcp); $cltprj = $rescp[0]; //create due date timestamp, concatenate fields and clean up
Re: [rt-users] Set Subject in if/then clause
I am pretty sure you can define that on the queue edit screen. I set up different subject prefixes per queue when I created them. As long as it is a per queue difference and not changes within a queue based on something else. Someone correct me if I'm wrong. Sent from my mobile device. On Feb 1, 2012, at 6:03 AM, Giuseppe Sollazzo gsoll...@sgul.ac.uk wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, I'm trying to set up a different subject for different queues in the same template (autoreply). This doesn't seem to work: { if ($Ticket-QueueObj-Name eq 'Work Queue') { Subject: Helpdesk Job Logged: {$Ticket-Subject} Output this; } elsif ($Ticket-QueueObj-Name eq 'Task Queue') { Subject: Support Job Logged: {$Ticket-Subject} Output that; } else { Output other; } } Is there a way to get this work? Thanks, Giuseppe - -- Giuseppe Sollazzo Senior Systems Analyst Computing Services Information Services St. George's, University Of London Cranmer Terrace London SW17 0RE Email: gsoll...@sgul.ac.uk Direct Dial: +44 20 8725 5160 Fax: +44 20 8725 3583 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPKRwCAAoJEAqigArPBfJXFCwH/iHe/oMnhx4fUV3AT4r55VFM PZHTLycb7mgsG1Nd4N0aIV3EQoGLIXe2YH1GaJIHLbs58q49r/fhzghjRYSGAYDt byk1NZGSXbItHwKM5D/cHX6xp/4SYDEeybtgCRbYKI51WsGIc7pX71TRjqQfNspv I5t4Pniq8VweKtl6y46eJiZK2cUVYTFmEy51xd32R+p1i5quw4BXV/oAWhC27+AT TlsNCnGye8BUD7NA0GAcaGzKCyKnMIJDbNm9ye14aEr6D/5+QXD2FoTxldI9EX7p qCUOYC+g4o+rBihSpEK5dUH4pJ3wbidBfI1plMLopkTFLI4BSy/8lXqD4bwQzpA= =OqSg -END PGP SIGNATURE- RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012 RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012
Re: [rt-users] RT see attachments as winmail.dat (application/ms-tnef)
Only way around it that I know of is make sure the users sending tickets from outlook send the message as type plain text. There are some exchange server settings that force default type as rich text or HTML. But the user can change that in outlook. I can't remember which method(s) work and which get stripped, but maybe you can do a few test messages and determine what goes through and educate the users. On Dec 29, 2011, at 4:02 AM, Nicolas GUIOT nicolas.gu...@risc-group.com wrote: Hi All, Since we changed our email provider, every attachment sent from Outlook arrives on RT (3.8.8-7+squeeze1) listed as winmail.dat. I've read somewhere that I could use ytnef to pipe the email before sending it to RT, but it doesn't exist in debian squeeze anymore, and there is no update on Sourceforge since 2004 : Is there something else that replace it ? On a side note, if you could help me understand/better setup : -people sending their email from Outlook : attachment is listed in RT as winmail.dat, AdminCC who use Outlook do receive the creation email, AdminCC using something else don't. - people sending their email from another email-client : everyone receives the ticket creation, attachment is correctly registered in RT. Thank you in advance Nicolas GUIOT RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012 RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012
Re: [rt-users] Option to store attachments on the filesystem
I am looking into this type of functionality as well. We were thinking of an NSF share in a web directory to drop the attachment with a way to drop a link within the ticket. So the attachments may not even exist on the RT server, but there will be links in the ticket to a web server that houses the attachment. On Dec 22, 2011, at 9:42 AM, k...@rice.edu k...@rice.edu wrote: On Wed, Dec 21, 2011 at 11:12:04PM +, Geoff Mayes wrote: Hello RT Users and Developers, Our RT instance at the University of Oregon is outgrowing the standard settings in some ways. One way is with attachments. The size of our database is 15.3GB and 13.7GB of that comes from the Attachments table. If our attachments were stored on a high-performance fileserver (or locally if you prefer), our database would shrink to 1.6GB. This would have numerous positive ramifications: - Database dumps/backups would finish in 1/10 the time - Database restores would finish in 1/10 the time - Planned downtimes and disaster recovery situations could be more nimbly performed (scp'ing around the db dump, restoring, etc) - Backups could be taken much more frequently - More backups could be stored - MySQL replication would be more robust with less binary data to chew on - Larger attachments could be permitted because there would be less fear of the database growing too quickly - Reduced database load querying/inserting/deleting/joining attachments I've read in previous posts to this mailing list (see below) that the arguments against this are that (1) attachments on the filesystem can't be searched and (2) the data backing the application will not be in one tidy database package but instead spread out across the db and filesystem. For our instance we don't care about #1, and for #2, while I understand the argument, I would actually argue the opposite: when attachments are on a high-performance, redundant SAN managed by a dedicated storage team that I don't have to worry about, my job administering RT just got a whole lot easier because I only have to worry about ensuring the fileserver is mounted and $AttachmentsPath (just an example config option) is properly set. I worked previously at a company that ran one of the largest instances of Bugzilla in the world and we served up 30TB of attachments over a fileserver without any problems. Can you imagine those attachments in a MySQL database? When ticket tracking sy s te ms are no longer small-ish, moving attachments out of the database becomes a must. I'm not asking the RT folks to switch attachment storage to the filesystem instead of the database. My wish is that RT offers its administrators the ability to choose one or the other. I know this has been a hot topic in the past, but I was hoping we could revisit the issue. Best Practical folks -- are you open to this? If so, would it help the process if I did all the work and submitted a patch? If so, should I file a bug so that we can talk about the way you would like this implemented? Given my reading of the history of this issue, I think a lot of folks would benefit from this feature. I've included previous postings about this issue below. Let me know if I can help and how I can. We would love to upstream a patch so our local instance doesn't diverge too severely from you all. Thanks for your consideration, Geoff Mayes One of the first, meaty discussions: http://www.gossamer-threads.com/lists/rt/devel/706 http://www.gossamer-threads.com/lists/rt/devel/37733 http://www.gossamer-threads.com/lists/rt/users/39507 The best discussion of the issue: http://www.gossamer-threads.com/lists/rt/users/67406 Best Practical has recently worked on this issue: http://www.gossamer-threads.com/lists/rt/users/89596 Hi Geoff, I had thought that something like this had already been implemented by Best Practical for a customer. Hopefully, they can provide some feedback regarding the utility and possible problems of such an approach from personal experience. Maybe they would consider releasing it as an extenstion. As far as the assertion that a lot of folks would benefit from this feature, I doubt that would be the case for the vast majority of RT users. Most users can handle one-stop-shopping type applications with far fewer problems. Once you divorce the metadate repository from the actual ticket data, you add a whole slew of different failure modes that will require much more sophisticated administration processes to prevent, ameliorate, or recover from. Your reference to leveraging an existing SAN+SAN management team gives a hint to the increase in both complexity and cost of running an instance. There are a wide range of RT users from systems that manage a handful of tickets a week all the way to systems handling thousands of tickets or more a week. Those on the small end can/should use whatever DB backend that they are
[rt-users] Cross table queries - transaction
Is there any way to build a query within RT (4.04) to query more than the ticket table? Specifically I am trying to build a dashboard that will email users any ticket they updated yesterday. I have one that is current user and last updated is yesterday, but if someone else updates it after it doesn't show as lastupdatedby is changed. Any thoughts? Sent from my iPhone RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012
[rt-users] Fwd: Cross table queries - transaction
Is there any way to build a query within RT (4.04) to query more than the ticket table? Specifically I am trying to build a dashboard that will email users any ticket they updated yesterday. I have one that is current user and last updated is yesterday, but if someone else updates it after it doesn't show as lastupdatedby is changed. Any thoughts? Sent from my iPhone RT Training Sessions (http://bestpractical.com/services/training.html) * Boston March 5 6, 2012
[rt-users] RT4 and articles
Thanks to all who have helped with previous posts. This is an awesome group. I recently upgraded from 3.8.7 to 4.0.4 and am very interested in Articles. I, however, have not been able to find any detailed documentation on how to get started with it. Here is what I am trying to do and what I have done: We have a queue called facilities where we put in tickets regarding, generators batteries, AC units, general power issues, etc. I want to put together an Article class for Standard Operating Procedures - Facilities called SOP - Facilities so we can put in documentation that can be searched in the articles. So far I have: created the class SOP - Facilities created a topic Generators assigned group rights for Network Engineering to See articles, Create Articles and see that the class exists applied the class to the facilities queue When I try to create a new article via: New Article - in SOP - Facilities I get a page with Basics, Content, Links and Topics Basics has fields: Name (textbox) Summary (textbox) and shows the class name Content has NO field to enter information (this is my problem/question) Links has fields: refers to (textbox) referred by (textbox) Topics has a listbox with all the topics for the specified class which in my case is only: Generators Does anyone know why the content box does not show up? Also, are there any steps I missed in setting up the class/topics? My user has all the related accesses granted in User Rights relating to articles (as well as anything and everything as administrator). Thanks in advance. RT Training Sessions (http://bestpractical.com/services/training.html) * Boston TBA
[rt-users] RTx::Calendar in rt4
Has anyone ported the Calendar plugin to rt4? I installed it in the new version (4.0.4). It shows on the home screen, but there is not a link to the full calendar on the home screen as it was in 3.8.7. I did some research and found that the error we get when clicking on: could not find component for path '/Ticket/Elements/Tabs' is related to the difference between the new interface in rt4 and the old one. I found some discussions on the list about other plugins relating to Default vs. Privileged in the Tabs directories, but have yet to get my head around the exact way to fix it. I am sure it is something pretty simple, but need a little direction. If anyone has already done this and would like to share, it would be appreciated, if not, any input will be very helpful. Thanks! Joe RT Training Sessions (http://bestpractical.com/services/training.html) * Boston TBA
[rt-users] rt4 and dashboards
I just upgraded from 3.8.7 to 4.0.4 this weekend. Things look great!! I have one issue that I believe existed in 3.8.7 where I can create a dashboard and assign a search to it, but cannot seem to figure out how to make it show in the list under the Home tab. I can view the dashboard by clicking on All Dashboards and then the one I added though. I am also trying to figure out what I need to do to make the subscriptions send emails. I am sure it is something simple, but I cannot seem to find it. Any help would be greatly appreciated. Thanks! Joe RT Training Sessions (http://bestpractical.com/services/training.html) * Barcelona, Spain November 28 29, 2011
[rt-users] Custom field relationships
We are running 3.8.8. We have some custom fields we would like to auto-populate using scripts. Basically, like so: customfield id = 1 - Client/Project customfield id = 2 - Task/Code In the create new ticket form, the data in Task/Code is dependent on what is chosen in Client/Project. I cannot for the life of me figure out how they are related within the database structure. I know it has to do with the sortorder in customfieldvalues, but I cannot see where they are related. We want to script on the backend updating the information based on data that pulls from another database. We hav the data to load, just need to figure out how to relate them. Any ideas? Thanks in advance! Joe RT Training Sessions (http://bestpractical.com/services/training.html) * Chicago, IL, USA September 26 27, 2011 * San Francisco, CA, USA October 18 19, 2011 * Washington DC, USA October 31 November 1, 2011 * Melbourne VIC, Australia November 28 29, 2011 * Barcelona, Spain November 28 29, 2011
[rt-users] Scrip to - On owner change add owner name to subject
We are rolling out a new RT system for all users in our company. Previously we have used RT in our engineering group through several versions over the last 8 years. The new RT system will be replacing a homegrown task management system they have been using for some time. One of the requirements from above is that the owner name be in the subject to help keep track at a glance of who owns what. Anyone have any ideas? 2011 Training: http://bestpractical.com/services/training.html
Re: [rt-users] RT Queue mails with errors on Postfix
The command newaliases I was led to believe was only for sendmail. What you need is: postalias /etc/aliases Unless you have newaliases somehow linked to the above, postfix won't read the aliases file. At least I hope that is it. :) Sent from blackberry -Original Message- From: Gregory Greafers greg...@accesskenya.com Sender: rt-users-boun...@lists.bestpractical.com Date: Wed, 05 Jan 2011 15:34:21 To: rt usersrt-users@lists.bestpractical.com Reply-To: greg...@accesskenya.com Subject: [rt-users] RT Queue mails with errors on Postfix Hi RT Community, I have an issue I want to troubleshoot and resolve. I have - CentOS 5.5, - RT 3.8.8, - postfix as an MTA running on [myrtdomain.com] sending and responding to mails internal to [mycompanydomain.com]. mycompanydomain.com is on MDaemon mail server - apache2 server I keep seeing this error in my postfix logs (tail -f /var/log/maillog) Jan 5 14:08:10 noc postfix/cleanup[6000]: warning: database /etc/postfix/virtual.db is older than source file /etc/postfix/virtual ... Jan 5 14:51:14 noc postfix/local[6094]: C11C85F696D: to=n...@myrtdomain.com, relay=local, delay=11811, delays=11811/0.01/0/0.2, dsn=4.3.0, status=deferred (temporary failure. Command output: RT server error. The RT server which handled your email did not behave as expected. It said: temporary failure - RT couldn't find the queue: CoreNetwork ) My /etc/aliases has the queue specified, matching the CoreNetwork queue I created on RT webinterface with my root account: core: |/opt/rt3/bin/rt-mailgate --queue CoreNetwork --action correspond --url http://myrtdomain.com; core-response: |/opt/rt3/bin/rt-mailgate --queue CoreNetwork --action comment --url http://myrtdomain.com; Any ideas on how I can resolve this? I have tried these steps in sequence newaliases postfix reload service postfix restart [ok] service httpd restart [ok] -- Regards, Gregory Okoth NOC Engineer Email:n...@accesskenya.com Tel: (254 20) 360 0908 Fax: (254 20)(254 20) 360 0001
Re: [rt-users] Revisiting CommandByMail problem
I believe this is the same issue I was having and it stemmed from there being colons in the same line with the command. i.e. Due: 2010-11-25 17:30:00 This command works both on update and create, but the mail server returns an error when updating: Extended mailgate error Failed command 'due: 2010-11-25 17:30:00' Error message (no message) Is this the same issue you are having? Sent from blackberry -Original Message- From: Kenneth Crocker kfcroc...@lbl.gov Sender: rt-users-boun...@lists.bestpractical.com Date: Tue, 23 Nov 2010 09:25:39 To: rt-users@lists.bestpractical.com Subject: Re: [rt-users] Revisiting CommandByMail problem Kevin, I've never written a perl program in my life. I've coded a few scrips here and there. I apologize for not having done a better job of testing my problems earlier. They were all updates. I hadn't tried a fresh create at that time. When I create a new ticket via CommanbByMail, all commands work well. When I copy/paste those same commands into an update email, the dates DO get updated, but I get an error message in a returned email. That's the best info I can give you. I wouldn't know where to begin when it comes to coding a patch or testsuite. Kenn LBNL On Mon, Nov 22, 2010 at 4:53 PM, Kevin Falcone falc...@bestpractical.comwrote: On Mon, Nov 22, 2010 at 02:01:00PM -0800, Kenneth Crocker wrote: To List, I've continued to have problems with getting an error message from RT when using CommandByMail and I found an interesting situation: When I create a ticket using email and include many fields (dates and otherwise), the ticket is created and I get no error message back. When I try to update a ticket using CommandByMail (referencing the ticket in the Subject line), the ticket is updated, yet I get an error message back from RT in email stating errord for the date fields. Yet the data WAS updated. I went to the rt.log and noticed that the update fields get updated, then a transaction Type Correspond is processed and THEN the error messages get sent. I then went to the DataBase and looked at the TRANSACTION Table and found the transactions and sure enough, there is a transaction record Type Set for each date field and any other fields all followed by that Correspond: Type trans record. I also noticed that regardless of what non-date fields I am updating in sequence after the date fields, the transactions for the date fields are always processed last just before the transaction type correspond. I just did a complete install of CommandByMail to ensure I hadn't accidentally messed up any files. So, I have two questions: 1) Why does the Create email work without any error messages and the Update work but send error messages? 2) Why would CBM go ahead and update the ticket and then only when it processes the Correspond transaction decide to send out error messages for the date fields? If you're passing a correctly formatted Due date on Correspond emails and getting errors, then that may well be a bug. Your previous emails have shown that you weren't passing a valid Due date. The easiest way to get this fixed is a patch that adds a failing test to the testsuite. -kevin
Re: [rt-users] Revisiting CommandByMail problem
I ran into the same issue when trying to set a due date in a reply. But during create it works. I got around it by providing my users a php web form that generates the email and forces them to set due date and priority at ticket creation. There is likely an easier way to do this, but many of the folks here that submit tickets aren't RT users, so it works well to drive the users to pass the right info when sending in a request. Sent from blackberry -Original Message- From: Kenneth Crocker kfcroc...@lbl.gov Sender: rt-users-boun...@lists.bestpractical.com Date: Mon, 22 Nov 2010 14:01:00 To: rt-users@lists.bestpractical.com Subject: [rt-users] Revisiting CommandByMail problem To List, I've continued to have problems with getting an error message from RT when using CommandByMail and I found an interesting situation: When I *create* a ticket using email and include many fields (dates and otherwise), the ticket is created and I get no error message back. When I try to *update* a ticket using CommandByMail (referencing the ticket in the Subject line), the ticket is updated, yet I get an error message back from RT in email stating errord for the date fields. Yet the data WAS updated. I went to the rt.log and noticed that the update fields get updated, then a transaction Type Correspond is processed and THEN the error messages get sent. I then went to the DataBase and looked at the TRANSACTION Table and found the transactions and sure enough, there is a transaction record Type Set for each date field and any other fields all followed by that Correspond: Type trans record. I also noticed that regardless of what non-date fields I am updating in sequence after the date fields, the transactions for the date fields are always processed last just before the transaction type correspond. I just did a complete install of CommandByMail to ensure I hadn't accidentally messed up any files. So, I have two questions: 1) Why does the Create email work without any error messages and the Update work but send error messages? 2) Why would CBM go ahead and update the ticket and then only when it processes the Correspond transaction decide to send out error messages for the date fields? Any and all help will be greatly appreciated. Kenn LBNL
Re: [rt-users] Can watcher notifications use a different template?
You may want to look into the commandbyemail plugin. We use it a lot. Watchers just reply to the ticket and add: Owner: j_harris At the top and it changes the owner and notifies the watchers (and the requestors). Sent from blackberry -Original Message- From: Howard Jones ho...@thingy.com Sender: rt-users-boun...@lists.bestpractical.com Date: Wed, 20 Oct 2010 17:27:51 To: rt-users@lists.bestpractical.com Subject: [rt-users] Can watcher notifications use a different template? I'm looking to tweak our internal RT process so that internal users can 'claim' a ticket directly from the e-mail notification, to avoid having two people working on one issue (we have a group of people who are all watchers on the General queue, and those people generally work from their inbox). To do that, I want to: 1) Add a new action, Claim, that will do the same as Take, but only if the ticket is not owned and otherwise tell the claiming user that Joe is already dealing with it. 2) Add a link to Claim in the Watcher mail so that people can 'get a lock' on a ticket before investigating and replying. I think I can manage 1 with no problem, but I don't follow where I can create a template that is used specifically for 'Watcher-notification' e-mails. Is this possible? Is it actually a different template than the one used for normal transactions? (or can it be?) I guess the alternative is to effectively duplicate part of the Watcher functionality with a scrip that uses OnCreate and Notify Other Recipients, but that seems a bit clunky. Does any of this make any sense? Is there a better way to do it? Thanks for any insight, Howie
Re: [rt-users] how to pre-fill fields?
I have a simple php page I use for my users to submit tickets that utilizes the commandbyemail plugin to set fields like subject, duedate, priority and to add an admincc. I am not near my office network, but if you're interested, I can post the page code or upload it. It supports attachments as well, but I limit them to 2MB within the php code (which can be changed). Let me know if there is interest. Joe Sent from blackberry -Original Message- From: Jason Edgar superj...@gmail.com Sender: rt-users-boun...@lists.bestpractical.com Date: Sat, 16 Oct 2010 18:14:30 To: rt-users@lists.bestpractical.com Reply-To: superj...@gmail.com Subject: [rt-users] how to pre-fill fields? How do I pre-fill a field(e.g. the subject fill or description field). .i.e how do I modify RT so that when I click 'new ticket' the subject or description fill would already have text that I entered somewhere else? RT Training in Washington DC, USA on Oct 25 26 2010 Last one this year -- Learn how to get the most out of RT! RT Training in Washington DC, USA on Oct 25 26 2010 Last one this year -- Learn how to get the most out of RT!
[rt-users] MyCalendar portlet on home screen
I have a fresh new installation of RT that we are preparing to use (3.8.8). We also have another version (3.8.7) running that has been in use for over 6 years (and we live by it). In the new installation, I would like to add the MyCalendar portlet on the RT at a Glance page for all users. I did this in our current installation by going into configuration - global - rt at a glance and selecting it from the available side in summary. But for some reason in teh new installation, MyCalendar is not in the list of available fields. I do have the calendar item at the top and can view the calendar, but I would like to have it on our users home screens to help drive them with their tasks. In my configuration (RT_SiteConfig.pm) I have the following: Set( @Plugins, qw(RT::Authen::ExternalAuth RT::Extension::CommandByMail RT::Extension::ExtractCustomFieldValues RTx::Calendar) ); Set( @MailPlugins, qw(Auth::MailFrom Filter::TakeAction)); Set($HomepageComponents, [qw(QuickCreate Quicksearch MyCalendar MyAdminQueues MySupportQueues MyReminders RefreshHomepage)]); Set($CalendarDisplayOwner, 1); Set($ICalTicketType, Data::ICal::Entry::Event); Set($ICalReminderType ,Data::ICal::Entry::Todo); @CalendarPopupFields = ('Status', 'OwnerObj-Name', 'DueObj-ISO'); Which is identical to the 3.8.7 installation. Does anyone have any suggestions? Thanks in advance! Joe RT Training in Washington DC, USA on Oct 25 26 2010 Last one this year -- Learn how to get the most out of RT!