In some of our jobs, the build result page gets some text appended using a Groovy postbuild step. The appended text can contain arbitrary characters, even an escape character (character code 27). Everything works fine.
On accessing such a build via XML api, there is an exception because the XML output contains invalid characters:
error on line 1 at column 9913: PCDATA invalid Char value 27
I'm aware that I can avoid this issue by filtering the appended text in the groovy step, but generally the XML API should filter or escape such invalid characters from the output.