We like Jira Service Desk, but it doesn’t have a few critical features that we want (namely, SSO/Okta integration for customers).
Because of this issue, we are exploring the idea of writing our own front-end to Jira Service Desk and integrating this new front-end with our existing private customer community site. The plan is that customers would log in to our community site to try to search for a solution, if they can’t find one, they can “open a support request” within the same customer community site. They would never leave to go over to the JSD customer portal.
Thus, from the custom section of our community site, they could open a new support request. The form submission would be processed by code that we write, and then communicate with JSD via RESTAPI calls to create the issue in JSD.
As part of this custom front-end, we’re thinking of having these capabilities:
- Create a new support request
- View active support requests
- View archived support requests
- Add comments to existing support requests
- Search support requests
Each of the above capabilities would utilize the JSD API.
Have other people done this before? What issues/problems did you run into?
Here’s what I’m worried about:
- Can we use the API to create a JSD issue on behalf of someone else? (I just spent time poking around this site and it appears we can impersonate on issue creation)
- Can we use the API to create a comment on behalf of someone else? (Nope: here’s the suggestion: https://jira.atlassian.com/browse/JRACLOUD-35124 )
- What about syncing the customers from our existing community site to JSD? Will the API let us create a customer sync and not send an email to the customer when their JSD customer account is created?
- What about customer notifications when a service desk agent adds a customer visible comment? Can we use the native JSD notification system for that and just be sure to remove the URLs that point to the *.atlassian.net site? (We’re using JSD cloud)
- Allowing users to paste screenshots into our form and then getting those saved properly in JSD
- Other things that I haven’t thought of but we’re going to run into if we start building this.
Anyhow, any advice people have would be great. (I’m already diving into the APIs and I’ll likely have specific questions as we go along… this topic is more of a “are-there-any-major-gotchas-with-this-idea-that-should-dissuade-us-from-doing-this”?