Search code examples
perlcurljirajql

Curl thowing error while trying to query JIRA with strings in field filter


I need some help with my perl script.

I am new to perl and using curl and despite a lot of searching/ trial and error I am still stumped.

I am trying to use CURL to retrieve a set of jira issues based on the provided JQL.

Unfortunately I am having issues with spaces when I search fields like summary:

my $jql = JiraUrl.'search?jql=summary~"Some%20Silly%20Issue"';

When I curl this...

my $jsonResponse = `curl -D- -u $user:$password -X GET -H "Content-Type: application/json" $jql`;

I get an error ..

{"errorMessages":["Error in the JQL Query: Expecting either \'OR\' or \'AND\' but got \'Silly\'. (line 1, character 77)"],"errors":{}}';

Basicly when I escape the " " with %20 it ignores the "'s

Any help for how to get around this?


Solution

  • It looks like it's a shell escaping issue. The quotes are being interpreted by the shell. Try this:

    my $jsonResponse = `curl -D- -u $user:$password -X GET -H "Content-Type: application/json" '$jql'`;