Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implementing JIRA Service Desk users

I am currently trying to set-up an application that talks with JIRA to make Service Desk issues using Atlassian's REST API. The problem I am facing, is that new users set-up in "jira-users" and "service-desk-users" groups can not create issues in the Service Desk project, according to the API.

I am guessing this is due to them not being logged in through the "Portal Access" security level. Is this possible somehow through the API, or are there any other recommended methods of creating issues for Service Desk?

like image 554
Deniz Zoeteman Avatar asked Oct 10 '14 23:10

Deniz Zoeteman


1 Answers

As far as your interface should matter, the way that you're going to be creating an issue through the REST interface to jira is just like any other ticket. The users will need to have the create issue permission. As for how service desk manages that, if you've only provided them access to the customer portal, I do not believe that will provide them the permissions to create issues through any other interface.

Jira service desk provides you a friendly way to accept tickets from the customer. If you extrapolate the ticket creation through a Rest call, you're bypassing service desk and you're making that call directly to the jira server underneath. The users who will make this call will need to have the create-issue permission from the role permission scheme.

There are two ways of going about this.

First

You can do is for that project add jira-users the ability to create issues on the service desk project. Ensure that your role permission scheme is accepting of this and you should be able to allow all authenticated users to create an issue for your project.

With this solution you would need to be sure that your environment is setup to have all new users created being placed in jira-users. This should be this way by default unless it was changed by you, or other system administrators.

Ensure that if your using this route that you're getting the session with their credentials through a post to get the session token.

/rest/auth/1/session

Second

Create a local user in the jira instance that you will use as a service account for this interface to jira. This would be ideal if you do not require them to authenticate within jira. Each issue that was created with this service would then be created under this local account. Problematic if you're trying to audit who submitted the ticket.

You'll need to hard code this session authentication into your call to jira.

Final Notes

Although I would imagine that if you were willing to write this service you're needing them to authenticate, otherwise you could have gone with the jira issue collector. Which you can read about here Jira Issue Collector

Please let me know if you would like some additional clarification, or if I did not fully answer your question.

like image 137
RGG Avatar answered Sep 17 '22 23:09

RGG