Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Using servicedeskapi/customer to create a new customer

MP AK December 22, 2017

I tried to create a new service desk customer via the REST api according to this description: https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-customer-post

However the following call fails with an exception in curl and the service desk log:

curl -D- -u admin:admin -X POST --data "{\"email\":\"fred@example.com\",\"displayName\":\"Fred Foo\"}" -H "Content-Type: application/json" -H "X-ExperimentalApi: opt-in" http://localhost:8080/rest/servicedeskapi/customer

curl output:

[...]
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?><status><status-code>500</status-code><message>Unexpected character ('\' (code 92)): was expecting double-quote to start field name
at [Source: org.apache.catalina.connector.CoyoteInputStream@c21c873; line: 1, column: 3]</message><stack-trace>org.codehaus.jackson.JsonParseException: Unexpected character ('\' (code 92)): was expecting double-quote to start field name
at [Source: org.apache.catalina.connector.CoyoteInputStream@c21c873; line: 1, column: 3]&#xD;
[...]

Service desk log:

[...]
 
/rest/servicedeskapi/customer [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: No content to map to Object due to end of input

java.io.EOFException: No content to map to Object due to end of input

                at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)

                at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2691)

                at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1315)

                at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)

                at com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:490)

                at com.sun.jersey.spi.container.AdaptingContainerRequest.getEntity(AdaptingContainerRequest.java:236)

                ... 15 filtered
[...]

Like the curl output states, there seems to be a problem with the escape sequence. So I tried to read the data from a file. In this case the escape sequences are not necessary. This time the API call created the customer.

 

Am I using the API in a wrong way or is this an issue of the service desk?

1 answer

0 votes
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 22, 2017

Hello,

I think it is not about the Jira Service Desk Api, but it is about the curl. You can find posts with the same problem

https://stackoverflow.com/questions/4514199/how-to-send-double-quote-in-d-parameter-for-curl-exe

MP AK December 22, 2017

Hey Alexey,

thanks for the quick reply! In the mean time I figured it out myself. The problem was not about the escape characters, but about missing spaces (as strange as it sounds).

The following call works for me:

curl.exe -D- -u admin:admin -X POST -d "{\"email\": \"test@example.com\", \"fullName\": \"Fred Example\" }" -H "Content-Type: application/json" -H "X-ExperimentalApi: opt-in" https://localhost:8080/rest/servicedeskapi/customer -k
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 22, 2017

Good to hear

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events