Solved - REST: Special characters in custom fields

I had to change the code to allow the pound sign.

rt/lib/RT/Interface/REST.pm line 69 (in RT 3.8.1):

  • my $CF_char = ‘[\sa-z0-9_ :()/-]’;
  • my $CF_char = ‘[\sa-z0-9_ #:()/-]’;

RyanFrom: rt-users-bounces@lists.bestpractical.com on behalf of Kevin Falcone
Sent: Wed 8/11/2010 8:15 AM
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] REST: Special characters in custom fields

I am using the REST interface to create and update tickets, as described in the wiki
([1]http://wiki.bestpractical.com/view/REST). However, I am running into a problem with some
custom fields that have a hash/pound symbol (#) as part of the name. Other custom fields work
fine.

For example, when attempting to update a ticket I get a response like this:

RT/3.8.1 409 Syntax Error

Syntax error.

cf-A Custom Field: aaa

cf-Another Field #: 123
cf-Contact Name: Ryan

I get the same error whether I url encode the data or not. Is there a special way to escape or
encode special characters to avoid this error?

Have you made it work with bin/rt and looked at the generated data
using RTDEBUG=3 bin/rt ?

-kevin