post an issue to JIRA from confluence using REST API

I have a form on a confluence page that gets some information from a user and creates an issue on a JIRA server using REST API . I tried all of the things I could find online and still I cant get what I want.  Here is all the things I've tried so far:

FYI: 

  • Confluence and JIRA are linked together.
  • I am not in a position to change any server configurations on any of the servers.
  • I use Jquery.ajax

1. Directly submitting data as JSON using a POST request using simple Authentication: 

[jira-domain]/rest/api/2/issue
  • Outcome: ONLY works on Internet explorer because both of the domains are in the intranet. for other browsers, failing because of  CORS (Cross-Origin Resource Sharing) 

 

2. Using Confluence's API and JIRA's application ID to post requests: (this only works for GET requests)

[confluence-domain]/plugins/servlet/applinks/proxy?appId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&path=[jira-domain]/rest/api/2/issue
  • Outcome: I always get an HTTP 400 Bad request.

 

3.  Using ANOTHER Confluence's API and JIRA's application ID to post requests:

[confluence-domain]/rest/jira-integration/1.0/issues?applicationId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Note: Json must be an array of issues.

  • Outcome: my JSON contains 2 fields "duedate" and "assignee".  I get the following errors:
"Field 'duedate' cannot be set. It is not on the appropriate screen, or unknown."
"Field 'assignee' cannot be set. It is not on the appropriate screen, or unknown."

 I deleted these 2 fields from my JSON and I could sucessfully create an issue. BUT these 2 fields are very important and I need them,

after some investigation, I realized that a normal JIRA user cannot set these 2 fields on the jira web interface. (eventhough the same user could set them using the 1st solution from above). I do not want to and cannot get users higher rights. 

 

 

------------

 

So can anyone please help me with this problem? 

 

1 answer

1 accepted

Accepted Answer
1 vote

REST respects the issue setup for the users, so you're not going to get anywhere unless you either stop sending due date and assignee, or you enable the users to set them in the UI.

On point 1, where you could set them, it wasn't using the same user.

you are right! assuming the user has the permissions, solution 1 and 3 are working correctly. 

What about option 2? For me option 1 and 3 are giving HTTP 500, but options 2 seems to be working with 'GET' calls at least:

$.ajax({
url: '<CONFLUENCE URL>/plugins/servlet/applinks/proxy?appId=<APP_ID>&path=<JIRA_URL_ENCODED>%2Frest%2Fapi%2F2%2Fissue%2FISSUE-123',
type: 'get',
contentType: 'application/json',
success: function (resp) { },
});

but the 'POST' requests always fail with HTTP 400 Bad request: "The request sent by the client was syntactically incorrect"

var jiraData = {"fields": {"project": { "key": "PRJ" },"summary": "dummy","description": "test","issuetype": { "name": "Task" }}}

$.ajax({
url: '<CONFLUENCE URL>/plugins/servlet/applinks/proxy?appId=<APP_ID>&path=<JIRA_URL_ENCODED>%2Frest%2Fapi%2F2%2Fissue',
type: 'post',
contentType: 'application/json',
data: JSON.stringify( jiraData ),
success: function (resp) { },
});

I am thinking that the JSON should be formatted/escaped somehow.. any clue?

I use: JIRA v7.2.7, Confluence 6.4.3

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Oct 11, 2018 in Confluence

What are your project planning tips?

Hello Community,  Jessica here from the Confluence product marketing team! Today I wanted to get your takes on project planning –– what works, what doesn’t, how do you know if you’re doing it r...

260 views 1 4
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you