Situation:
We use Jira Cloud, and the Service Desk for internet ticketing.
When a user creates a ticket, three knowledge base articles are suggested.
More often than not, these are overlooked by the end user.
We want to create automation that sends an e-mail to the reporter containing links to these three suggested knowledge base articles.
Problem:
I can, for the life of me, not find the smart value(s) needed to link/reference these articles.
What I've tried:
Digged through Atlassian documentation on smart values.
Installed JSONView plugin for my browser, and trawled through the company.atlassian.net/rest/api/2/issue-1234 data.
So I enabled Chrome's Developer Tools and watched the Network tab when I entered "VPN help" into the Summary of a Service Desk request and saw this query pop up:
https://MYSITE.atlassian.net/rest/servicedesk/knowledgebase/latest/articles/search?project=HELP&query=VPN%20help&spaceKey=HELP
That returns a JSON result with the suggested results.
You would do this in Automation by using Web Requests, querying for {{issue.summary.urlencode()}}
I think you could then send an email that contains the contents of those results, using something like:
{{#webhookResponse.body.results}}
* <a href="{{url}}">{{title}}</a>
{{/}}
Unfortunately that endpoint is not documented and the article titles contain Confluence markup which will be a pain to cleanup.
An alternate (and actually documented) endpoint you could hit is here:
This is the URL I used to get the same results (without markup):
https://MYSITE.atlassian.net/rest/servicedeskapi/servicedesk/1/knowledgebase/article?query=VPN%20help
With results from a Web Request might show up here:
{{#webhookResponse.body.values}}
<li><a href="{{content.iframeSrc}}">{{title}}</a>
{{/}}
Unfortunately the iframe link is lacking any... context. But the data is there.
Oh, here's the fix for that:
{{#webhookResponse.body.values}}
<li><a href="https://MYSITE.atlassian.net/servicedesk/customer/portal/1/article/{{source.pageId}}">{{title}}</a>
{{/}}
I think this is all the pieces you need. LMK.
Thank you darryl!
With a bit of help from a colleague, we got it working with a bit of automation looking like this:
When an issue is created --> Send web request --> Send email
Web request:
Webhook URL: https://MYSITE.atlassian.net/rest/servicedeskapi/servicedesk/1/knowledgebase/article?query={{issue.summary.urlencode()}}&limit=3
Header: X-ExperimentalApi - opt-in
Header: Authorization - [my basic auth token]
HTTP method: GET
Wait for response: checked.
Email:
To: Reporter
Subject: [Whatever you want]
Content: {{#webhookResponse.body.values}}
<li><a href="https://MYSITE.atlassian.net/servicedesk/customer/portal/1/article/{{source.pageId}}">{{title}}</a>
{{/}}
I set "limit=3" in the URL because the UI the end user sees only displays 3 articles, and we want to avoid drowning them with information.
The default limit turned out to be 10.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Daryl!
I think I managed to delete my first reply, so here it is again :)
With some help from a colleague we got it working.
Our automation looks like this:
Issue created --> Send web request --> Send email.
Web request:
URL: https://MYSITE.atlassian.net/rest/servicedeskapi/servicedesk/1/knowledgebase/article?query={{issue.summary.urlencode()}}&limit=3
Header: X-ExperimentalApi : opt-in
Header: Authorizatoin : [my basic auth token]
HTTP method: GET
Wait for response: checked
Email:
To: Reporter
Subject: [whatever you want it to be]
Content: {{#webhookResponse.body.values}}
<li><a href="https://MYSITE.atlassian.net/servicedesk/customer/portal/1/article/{{source.pageId}}">{{title}}</a>
{{/}}
We set the "limit=3" parameter in the URL to match the amount of articles presented in the UI the end user sees.
The default limit turned out to be 10.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
So glad it worked for you.
Shoot, forgot to warn you about the X-ExperimentalApi : opt-in header. That got me when I was testing this.
Good call on limiting it to 3.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Is there another way to implement this? I am new to JIRA and need a similar solution as the solution above did not work for me?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am not aware of any other ways of implementing it. At least I have not found any options, toggles, or other built in way of doing this.
It's not possible to add the suggested articles directly in the Customer Notifications.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Appreciate the reply back , i will continue to try your method above
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.