Re: [rt-users] Open Ticket On Resolve Of Dependants?
Hi Kevin, I can't understand that my scrip didn't work for you as we use this scrip in our RT without any problem. If you change your line $l-BaseObj-SetStatus('open'); to $l-BaseObj-SetStatus('open') unless $l-BaseObj-HasUnresolvedDependencies; the parent ticket is only open until all child tickets are resolved. Chris Am 06.02.2013 20:36, schrieb Kevin Comer: Christian, I tried this script you sent and was not able to get any results. The script in the first post does work, just not in the way we would like. we would like for the script to not fire until all the tickets have been resolved. How can I modify this script? Condition: On Status Change Action: User Defined Template: Global Template Blank Customer action: return 1; Custom action cleanup code: return 1 if ($self-TransactionObj-NewValue !~ /^(?:resolved|deleted|rejected)$/); my $DepOnBy = $self-TicketObj-DependedOnBy; while( my $l = $DepOnBy-Next ) { next unless( $l-BaseURI-IsLocal ); next unless( $l-BaseObj-Status =~ /^(?:new|open|stalled)$/ ); # here you can add any action # see also example below $l-BaseObj-SetStatus('open'); } $DepOnBy = undef; return 1; Kevin Comer -- Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
[rt-users] Email address updating with RT::Authen::ExternalAuth
Hi, Our organisation was recently merged with another, and we have a lot of email address updates coming. Normally I could just do a straight s/ old.com/new.com/ in the database, but there will be unpredictable changes in naming conventions where there are collisions. For instance joe.blo...@old.com will become j.blo...@new.com where there's already a Joe Bloggs in the new organisation. The RT user table is populated from AD with the ExternalAuth plugin, on user action (not syncing, as there are *far* too many users to import in the org as a whole - our RT is just for a couple of departments). Most user interaction is by email only. This has served us well, but as various departments and users are migrated to the new email domain, we're getting errors such as this: [Thu Feb 7 15:16:08 2013] [info]: RT::Authen::ExternalAuth::CanonicalizeUserInfo returning ***valid updated info*** (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:665) [Thu Feb 7 15:16:08 2013] [crit]: User creation failed in mailgateway: Name in use (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:10 2013] [warning]: Couldn't load user 'user.n...@new.com'.giving up (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:1023) [Thu Feb 7 15:16:10 2013] [crit]: User 'user.n...@new.com' could not be loaded in the mail gateway (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:11 2013] [error]: RT could not load a valid user, and RT's configuration does not allow for the creation of a new user for this email (user.n...@new.com). You might need to grant 'Everyone' the right 'CreateTicket' for the queue General. (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:12 2013] [error]: RT could not load a valid user, and RT's configuration does not allow for the creation of a new user for your email. (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:13 2013] [error]: Could not record email: Could not load a valid user (/opt/rt4/share/html/REST/1.0/NoAuth/mail-gateway:75) So it seems that it detects the account details correctly by searching the AD for the new email address, but it tries to create a new account which fails because there's a username collision. It doesn't seem to attempt to update the existing account with that username. The user has just a straightforward non-privileged account. The 'CreateTicket' permission is granted for 'Everyone', but that's clearly not the issue in this case. I've scanned the config options for both RT and ExternalAuth, and very briefly picked through the code, and I can't see anything obvious to allow the mail attribute to be updated. Can anyone shed some light on this? I'll have to keep updating addresses manually as I get the failure notification otherwise... -- Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
[rt-users] [rt-announce] RT Training in Amsterdam, Netherlands - March 20th 21st, 2013
Best Practical Solutions provides unparalleled instruction in how to get the most out of RT. Our first training session of 2013 will be held in Amsterdam on March 20th and 21st. As we like to keep class sizes relatively intimate, register soon or we may not be able to guarantee you a seat. This training will introduce you to the new features in RT4 as part of a comprehensive overview of RT. Whether you're an old hand at RT or a recent convert, you'll have a good understanding of all of RT's features and functionality by the end of the session. The first day starts off with a tour of RT's web interface and continues with a detailed exploration and explanation of RT's functionality, aimed at non-programmer RT administrators. We'll walk through setting up a common helpdesk configuration, from rights management, constructing workflows and notifications, and the basics of Lifecycles. The second day of training picks up with server-side RT administration and dives into what you need to safely customize and extend RT. We'll cover upgrading and deploying RT, database tuning, advanced Lifecycle configurations, writing tools with RT's API, building an extension, and demonstrate how to extensibly alter the web UI and internal functions. It goes without saying that you'll get the most out of training if you attend both days of the course, but we've designed the material so that you can step out after the first day with a dramatically improved understanding of how to use RT or show up on the second day and get quickly up to speed on how to make RT do your bidding. Pricing and Payment The cost of the class includes training materials, a continental breakfast and an afternoon snack. Please note that lunch will not be provided. Single Day - USD 995 Both Days - USD 1495 (25% savings) To Register If you'd like to pay with Visa, MasterCard or Discover, please visit Best Practical's online store at https://shop.bestpractical.com/#Training. Unfortunately we are unable to accept American Express or PayPal. If you'd prefer to pay with a purchase order, please email us at train...@bestpractical.com. Be sure to include: * If you want to attend both days or a single day * Full names and email addresses of attendees Please also contact us at train...@bestpractical.com for discounted pricing if you are from an academic institution or if you'd like to send more than 3 people. ___ rt-announce mailing list rt-annou...@lists.bestpractical.com http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-announce -- Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
Re: [rt-users] Open Ticket On Resolve Of Dependants?
Thanks This code added to the original script (OpenDependantsOnResolve) works great Thank You! $l-BaseObj-SetStatus('open') unless $l-BaseObj-HasUnresolvedDependencies; Condition: On Status Change Action: User Defined Template: Global Template Blank Customer action: return 1; Custom action cleanup code: return 1 if ($self-TransactionObj-NewValue !~ /^(?:resolved|deleted|rejected)$/); my $DepOnBy = $self-TicketObj-DependedOnBy; while( my $l = $DepOnBy-Next ) { next unless( $l-BaseURI-IsLocal ); next unless( $l-BaseObj-Status =~ /^(?:new|open|stalled)$/ ); # here you can add any action # see also example below $l-BaseObj-SetStatus('open') unless $l-BaseObj-HasUnresolvedDependencies; } $DepOnBy = undef; return 1; -- View this message in context: http://requesttracker.8502.n7.nabble.com/Open-Ticket-On-Resolve-Of-Dependants-tp52605p52701.html Sent from the Request Tracker - User mailing list archive at Nabble.com. -- RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
Re: [rt-users] Odd behavior, RT automatically reverts changes to Custom Fields
Ruslan Zakirov ruz at bestpractical.com writes: Hi, It's known issue with scrips that set custom fields based on other fields. You workaround it either by not allowing people to change custom fields you auto set with scrips or by running your scrip in batch stage. Some details. RT processes updates to custom fields one by one from request args, your scrip kicks in in the middle and then RT thinks, when it gets to a field that was changed by a scrip, that user picked different value and changes it back. On Thu, Jun 14, 2012 at 5:48 PM, Matthew W. matt.k.wong at gmail.com wrote: Hello, I'm relatively new to RT and have been running into this problem for a few days now. I've looked everywhere and haven't found a clue. The closest thing I could find was documented in this post: http://www.mail-archive.com/rt-users at lists.bestpractical.com/msg10037.html But, I really don't want to to undo the changes that RT automatically undoes Basically, whenever I make changes to a custom field from a scrip whatever the value that I add automatically gets reverted back to the old value. I tried adding code to delete the old value first, but RT just adds the old value back. Here's some psuedocode (code not tested and may contain typos, but my code works just fine as I can see the transactions in the ticket history): my $Value = 'some value'; my $CFName = 'customCF'; my $CF-LoadByName( Name = $CFName); #Delete the old value: $self-TicketObjDeleteCustomFieldValue( Field = $CFName, Value = $self-TicketObj-FirstCustomFieldValue($CFName) ); #Set the new value: $self-TicketObj-AddCustomFieldValue( Field = $CF, Value = $Value); Bottom line: does anyone know how to prevent RT from undoing the additions to a custom field? This is in RT 4.0.4. --Matthew. I just upgraded from version 3.6.6 to 4.0.10. I followed the UPGRADE-X.X.X process. My problem seems to be what is described above, but I don't know how to fix it. The NEW TICKET function worked in 3.6.6 but not in 4.0.10 When I log in I have the option of click a button to create a new ticket. Next to that button is a dropdown list to indicate the Queue. We have custom fields defined based on the Queue selected. No matter what Queue I select it reverts to the first in the list even before I click the NEW TICKET button. If I use the Quick Create, I have all my custom fields available and can update them there. Any Ideas? Rolf -- RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
Re: [rt-users] Printing Charts
On 02/11/2013 06:54 PM, April Rosenberg wrote: Good Afternoon, I am running 4.0.5 on Ubuntu. After creating queries and going to the chart options. I cannot print the charts out, it is the title and the rest is a blank page in IE and Firefox. There are no errors in the apache logs and the charts appear fine. This is true of pie and bar charts. I have tried searching, but most info is about display being broken as well as printing. I am using the default template, with a change in color on css only. Does anyone have any ideas? The print stylesheet is specifically hiding all content on the Charts page, but I'm not sure why. It's a holdover from an older print stylesheet (before the new one in 4.0.5), and I suspect it's a mistake and hiding too much by accident. Try applying this patch: curl -s https://github.com/bestpractical/rt/commit/ed77c63.patch \ | patch -p1 -d /opt/rt4 and then clearing your Mason cache and restarting RT. You'll need to clear your browser cache (or force reload the page) as well since it will aggressively cache the print styles. I expect the patch above will be in the next release of RT. -- RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
[rt-users] Suppressing dashboard subscriptions if they contain no tickets?
Is there a way to control whether a dashboard subscription sends an email depending on whether or not the associated query returns results? We'd like our support team to receive a scheduled report of all new tickets opened in a given time period and would like this dashboard sent regardless of whether or not new tickets were opened. We'd like others outside the support team to be notified only when new tickets are created, but not bother them with an email containing no tickets. Is there a way to do what we're looking for? Thanks. Dan. -- View this message in context: http://requesttracker.8502.n7.nabble.com/Suppressing-dashboard-subscriptions-if-they-contain-no-tickets-tp52704.html Sent from the Request Tracker - User mailing list archive at Nabble.com. -- RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
[rt-users] rt-mailgate error 302 with WebExternalAuth and Apache OpenID module
I'm working on implementing RT with OpenID. I started with a basic installation of RT and I created some test tickets from within the webui and via email. Everything worked great. I then started to implement OpenID for authentication. I tried using the RT OpenID plugin but I was never able to get that to work and there was very little documentation out there about it. I then decided to install WebExternalAuth use the Apache OpenID module for authentication. I was able to get this to work and now the web interface works great. Unfortunately, now the rt-mailgate is no longer working. When I email the queue the following error is logged in the maillog: Feb 13 03:17:03 sendmail[20134]: r1D3Gsht020130: to=|/usr/local/rt/bin/rt-mailgate --queue 'Customer Service' --action correspond --url http://rt.example.com/;, ctladdr=customerserv...@rt.example.commailto:customerserv...@rt.example.com (8/0), delay=00:00:08, xdelay=00:00:01, mailer=prog, pri=123857, dsn=4.0.0, stat=Deferred: prog mailer (/usr/sbin/smrsh) exited with EX_TEMPFAIL I then tried testing it from command line with the following results: # (echo Subject: test; echo; echo test) |/usr/local/rt/bin/rt-mailgate --queue 'Customer Service' --action correspond --url http://rt.example.com --debug /usr/local/rt/bin/rt-mailgate: temp file is '/tmp/b4OHJlWSwH/Kgebhr0hI2' /usr/local/rt/bin/rt-mailgate: connecting to http://rt.example.com/REST/1.0/NoAuth/mail-gateway An Error Occurred = 302 Found /usr/local/rt/bin/rt-mailgate: undefined server error I then switched back to normal authentication methods in my apache virtualhost config and then rt-mailgate would process emails successfully. Here is my apache vituralhost configuration that seems to be the problem: VirtualHost *:80 # Optional apache logs for RT # ErrorLog /usr/local/rt/var/log/apache2.error # TransferLog /usr/local/rt/var/log/apache2.access # LogLevel debug AddDefaultCharset UTF-8 DocumentRoot /usr/local/rt/share/html Location / # If I comment out the section below and uncomment the two lines below that everything works AuthType OpenID require valid-user AuthOpenIDTrusted ^http://www.example.com/$ AuthOpenIDUseCookie On AuthOpenIDSingleIdP http://www.example.com AuthOpenIDTrustRoot http://rt.example.com AuthOpenIDCookieName rt_auth_cookie AuthOpenIDSecureCookie Off # Order allow,deny # Allow from all SetHandler modperl PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app /usr/local/rt/sbin/rt-server /Location Perl use Plack::Handler::Apache2; Plack::Handler::Apache2-preload(/usr/local/rt/sbin/rt-server); /Perl /VirtualHost Thanks for any help on this issue. Thomas Klump -- RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
[rt-users] rt-mailgate error 302 with WebExternalAuth and Apache OpenID module
I'm working on implementing RT with OpenID. I started with a basic installation of RT and I created some test tickets from within the webui and via email. After everything was working I started to implement OpenID for authentication. I tried using the RT OpenID plugin but I was never able to get that to work and there was next to no documentation out there about it. I then decided to install WebExternalAuth use the Apache OpenID module for authentication. I was able to get this to work and now the web interface works great. Unfortunately, now the rt-mailgate is no longer working. When I email the queue the following error is logged in the maillog: Feb 13 03:17:03 sendmail[20134]: r1D3Gsht020130: to=|/usr/local/rt/bin/rt-mailgate --queue 'Customer Service' --action correspond --url http://rt.example.com/;, ctladdr=customerserv...@rt.example.com (8/0), delay=00:00:08, xdelay=00:00:01, mailer=prog, pri=123857, dsn=4.0.0, stat=Deferred: prog mailer (/usr/sbin/smrsh) exited with EX_TEMPFAIL I then tried testing it from command line with the following results: # (echo Subject: test; echo; echo test) |/usr/local/rt/bin/rt-mailgate --queue 'Customer Service' --action correspond --url http://rt.example.com --debug /usr/local/rt/bin/rt-mailgate: temp file is '/tmp/b4OHJlWSwH/Kgebhr0hI2' /usr/local/rt/bin/rt-mailgate: connecting to http://rt.example.com/REST/1.0/NoAuth/mail-gateway An Error Occurred = 302 Found /usr/local/rt/bin/rt-mailgate: undefined server error I then switched back to normal authentication methods in my apache virtualhost config and then rt-mailgate would process emails successfully. Here is my apache vituralhost configuration that is causing the errors: VirtualHost *:80 # Optional apache logs for RT # ErrorLog /usr/local/rt/var/log/apache2.error # TransferLog /usr/local/rt/var/log/apache2.access # LogLevel debug AddDefaultCharset UTF-8 DocumentRoot /usr/local/rt/share/html Location / # If I comment out the section below and uncomment the two lines below that everything works AuthType OpenID require valid-user AuthOpenIDTrusted ^http://www.example.com/$ AuthOpenIDUseCookie On AuthOpenIDSingleIdP http://www.example.com AuthOpenIDTrustRoot http://rt.example.com AuthOpenIDCookieName rt_auth_cookie AuthOpenIDSecureCookie Off # Order allow,deny # Allow from all SetHandler modperl PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app /usr/local/rt/sbin/rt-server /Location Perl use Plack::Handler::Apache2; Plack::Handler::Apache2-preload(/usr/local/rt/sbin/rt-server); /Perl /VirtualHost Thanks for any help on this issue. Thomas Klump -- RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T