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, confluence administration, confluence admin training, confluence learning path, manage users and permissions, confluence certification, atlassian learning, cloud admin tools, streamline collaboration, confluence admin best practices

🚨New Confluence Admin Course Alert!

Manage Confluence like never before! This new learning path teaches you how to manage content, users, and permissions while optimizing user experience. Built for admins at all levels who want to confidently lead and unlock more innovative collaboration.

Learn more
AUG Leaders

Atlassian Community Events