Reputation: 13
We are trying to create Jira ticket from Jira REST API. We are reading data from file and that contents we are trying to pass to description field in Jira. Our file contains multiple lines and because of this it is not working.
We suspect that this is not working because of multi line in description field.
curl -D- -k -u user:pwd -X POST --data '{"fields": {"project": {"key": "KOSPN"},"summary": "NOCAutomation-EnvName-Issue","description": "'"$(cat /root/ZK/lle/final.txt)"'","issuetype": {"name": "'$Issuetype'"},"customfield_16103": {"value": "'$env'"},"customfield_13700": {"value": "'$level'"},"customfield_16102": {"value": "'$Domain'"},"customfield_11506": {"value": "'$release'"},"customfield_11805": {"value": "'"$RequestType"'"},"customfield_12300": {"value": "'"$project"'"},"customfield_21305": {"value": "'$No'"},"customfield_11804": [{"value": "'$Component'"}]}}' -H "Content-Type: application/json" https://jiradc.test.com:8443/rest/api/2/issue
Contents of /root/ZK/lle/final.txt which is used as input to description field
QA02 cncservice ACM_SERVICE_HOST actual value (10.208.4.18) is not matching with expected value (10.208.9.21)
QA02 cncservice SNB_SERVICE_HOST actual value (10.208.99.9) is not matching with expected value (10.208.9.12)
QA02 cncservice XYZ_SERVICE_HOST actual value (10.208.4.118) is not matching with expected value (10.208.9.3)
Error: When i execute the script in debug mode below is what is constructed for CURL command:
curl -D- -k -u user:passwd -X POST --data '{"fields": {"project": {"key": "KOSPN"},"summary": "NOCAutomation-EnvName-Issue","description": "QA02 cncservice ACM_SERVICE_HOST actual value (10.208.4.18) is not matching with expected value (10.208.9.21)
QA02 cncservice SNB_SERVICE_HOST actual value (10.208.99.9) is not matching with expected value (10.208.9.12)
QA02 cncservice ACM_SERVICE_HOST actual value (10.208.4.18) is not matching with expected value (10.208.9.21)","issuetype": {"name": "Task"},"customfield_16103": {"value": "QA02"},"customfield_13700": {"value": "L1"},"customfield_16102": {"value": "ACT"},"customfield_11506": {"value": "Backlog"},"customfield_11805": {"value": "Environment Issues"},"customfield_12300": {"value": "2018 VGC"},"customfield_21305": {"value": "Yes"},"customfield_11804": [{"value": "accservices"}]}}' -H 'Content-Type: application/json' https://jiradc.test.com:8443/rest/api/2/issue
Response is:
HTTP/1.1 400
X-AREQUESTID: 327x44020628x4
X-ANODEID: pl001367
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
X-ASEN: SEN-4259792
Set-Cookie: JSESSIONID=30FA54033D0AA6EFA9716EA5C9E69AED;path=/;Secure;HttpOnly
X-Seraph-LoginReason: OK
Set-Cookie: atlassian.xsrf.token=BOOQ-GGIW-E4RQ-BKG0|119aa3a9b6cd1c35ddacddaf0f8dad1cfd798c26|lin;path=/;Secure
X-ASESSIONID: 1ez4fp1
X-AUSERNAME: TKMADNI
Cache-Control: no-cache, no-store, no-transform
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 08 Aug 2018 10:27:21 GMT
Connection: close
{"errorMessages":["Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value\n at [Source: org.apache.catalina.connector.CoyoteInputStream@64531914; line: 1, column: 208]"]}+
Upvotes: 0
Views: 1307
Reputation: 711
Yes, it is because of the multi-line description field; this makes the JSON invalid. In the constructed cURL command while in debug mode, feeding the JSON in https://jsonlint.com/, you'll see that there are some errors in your final JSON. You might have to replace the newlines with maybe "\n".
This is explained in more detail in this accepted post.
Upvotes: 1