Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Suggested knowledge base article smart value

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.

1 answer

1 accepted

2 votes
Answer accepted

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()}}

https://community.atlassian.com/t5/Jira-articles/Automation-for-Jira-Send-web-request-using-Jira-REST-API/ba-p/1443828

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:

https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-knowledgebase-article-get

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.

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.

Darryl Lee Community Leader Jan 14, 2021

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.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira Automation

New to Jira Automation - goodbye Cron (sort of), hello new project created trigger, new additions to

Hey Everyone! Simeon from the Automation team here. I'm delighted to share some new features and improvements that we are shipping to Jira automation (Cloud only). Firstly, @Sam Harding&nbsp...

2,794 views 10 23
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you