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...
Hey Gabriel, did you got it solved. If yes what was the problem. I am facing the same issue.
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...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No worries, got it working. Thanks Gabriel for all the help :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.