Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Can't figure out API create issue problem

Gabriel MOSCALU January 11, 2018 edited

Hi,

 

i need to be able to create issues on multiple projects when a specific transition is done in a project (multi-tenant environment). i though i could use the REST API with a CURL-based script  to do so, but i have some issue with it.

 

- i login to REST API just fine

 curl -s -c "cookies.txt" -H "X-Atlassian-Token: no-check" -d "os_username=$USERNAME" -d "os_password=$PASSWORD" -d "os_cookie=true" $JIRA_URL/login.jsp --output login.html

- i query the createmeta method and i get a response 

curl -u $USERNAME:$PASSWORD "$JIRA_URL/rest/api/2/issue/createmeta?projectKeys=$PROJECT_KEY&expand=projects.issuetypes.fields" -H "X-Atlassian-token: no-check" --output out/$PROJECT_KEY.INC_CREATE_INFO.out --silent

- i generate the JSON representation considering the fields i can see as mandatory in the "Create Issue" screen:

{
"fields": {
"project": {
"id": "11226"
},
"issuetype": {
"id": "10306"
},
"summary": "test from api",
"description": "test from api",
"assignee": {
"name": "level1"
},
"reporter": {
"name": "level1"
},
"priority": {
"id": "10001"
},
"security": {
"id": "10101"
},
"customfield_10701": "ITSEC-9087",
"customfield_10401": { "id": "12122"},
"customfield_11801": { "id": "12359"},
"customfield_10702": { "id": "10604"},
"customfield_10302": { "id": "11200"},
"customfield_11700": { "id": "12301"},
"customfield_10602": { "id": "10500"},
"customfield_10606": { "id": "10507"},
"customfield_10603": { "id": "10505"},
"customfield_10709": 100,
"customfield_10704": 100
}
}

- when i run the JSON in the REST API Browser, it works fine:

POST https://<removed>/rest/api/2/issue (201)

date: Thu, 11 Jan 2018 15:14:09 GMT
content-encoding: gzip
x-content-type-options: nosniff, nosniff
x-arequestid: 974x42645x1
status: 201
x-asen: SEN-L8621001
strict-transport-security: max-age=31536000; includeSubDomains
x-xss-protection: 1; mode=block
server: nginx
x-frame-options: SAMEORIGIN
x-seraph-loginreason: OK
vary: User-Agent
content-type: application/json;charset=UTF-8
access-control-allow-origin: https://<removed>, *
access-control-expose-headers: Origin
cache-control: no-cache, no-store, no-transform
access-control-allow-credentials: true
content-security-policy: upgrade-insecure-requests
x-asessionid: 9k65a5
x-ausername: g.moscalu%40<removed>
{
"id": "61112",
"key": "WIREFR-3009",
"self": "https://JIRA_URL/rest/api/2/issue/61112"
}

- when i run it in the script, it's not working and i have no error

HTTP/2 415 
server: nginx
date: Thu, 11 Jan 2018 15:32:24 GMT
content-type: text/html;charset=UTF-8
content-length: 0
x-arequestid: 992x43006x1
x-asen: SEN-L8621001
set-cookie: JSESSIONID=966CC9A7790CBBB998BFFECD61DFD3A0;path=/;Secure;HttpOnly
x-seraph-loginreason: OK
set-cookie: atlassian.xsrf.token=B4LU-HOEG-GX5M-JFFI|301ea3b3ff3c7157b4ff17d30a41b40c69adbdd2|lin;path=/;Secure
x-asessionid: 1emzhmh
x-ausername: g.moscalu%40<removed>
x-content-type-options: nosniff

 

Any hints/ideas?

 

I cannot see anything in the log...

1 answer

0 votes
ashish chaudhary October 9, 2018

Hey Gabriel, did you got it solved. If yes what was the problem. I am facing the same issue.

Gabriel MOSCALU October 9, 2018

Hi

 

yes, i got it working by:

* downloading the createmeta information

* parse the required fields, and build the JSONs 

* launch the issue creates

 

i cannot attach the whole scripts here, they're kind of huge...

ashish chaudhary October 9, 2018

Thanks for the reply.  Yeah I tried to do the same and just passed the required fields with one sub values.  Some thing like this.

curl -D- -u user:pass -X POST --data '{\"fields\":{\"project\":{\"id\":\"18690\"},\"issuetype\":{\"id\":\"12100\"},\"summary\":\"SampleusingAPI\",\"components\":{\"id\":\"26559\"},\"reporter\":{\"key\":\"username\"},\"duedate\":\"2018-10-31\"  }}'  -H \"Content-Type: application/json\"  https://localhost/rest/api/2/issue.

 

Although there are multiple fields in every category I chose the one i felt is the most relevant.         Did you add everything you got from createmeta?

ashish chaudhary October 9, 2018

No worries, got it working. Thanks Gabriel for all the help :)

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, loom, loom for training, loom for teaching, video training, async learning, online education, screen recording, loom tutorials, loom use cases, atlassian learning, team training tools, instructional video, virtual training tools

🛗 Elevate Your Training and Enablement with Loom

Join us June 26, 11am PT for a webinar with Atlassian Champion Robert Hean & Loom’s Brittany Soinski. Hear tips, stories, and get your burning questions answered. Learn how Loom makes training and enablement easier. Don’t miss it!

Register today
AUG Leaders

Atlassian Community Events