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

Enhancing customer portal via scriptrunner and userscript

Nikola Ivanov February 7, 2018

Hi all,


I recently got frustrated with JSDSERVER-357 and this feature request not being implemented for four year, so I've decided to hack around it.


Disclaimer: this is not a general solution, but a highly tailored to our needs.


Our customer portal is not public and I very well know each customer as they are explicitly allowed for a SD project.

Customers want to sort by columns, nothing more. I've hacked a solution using scriptrunner's REST and a userscript which loads all issues and renders a datatable - sortable, filterable, searchable.


I want to ask the community for a feedback regarding security consideration, other considerations., general feedback. Maybe you can join and help improve the "solution" and make it more general.

This is the REST groovy:

And this is the userscript:





Edit: this is how it looks




JonasC February 7, 2018

Does it work for customers created through the portal, and thus not has access to JIRA in standard ways?

Nikola Ivanov February 7, 2018

I have no idea. Unfortunately I cannot test it either. Just go ahead and try it out.

Nikola Ivanov February 7, 2018



Made some additional improvements on the styling front. Userscript is updated. however hardcoded stuff which binds it exclusively on my use case is increasing.

I would love to have some support from the community, maybe we could together implement something more generic.

JonasC February 7, 2018

Well, it's a good solution for JIRA app-users. But for customers created through the portal, they cannot reach a custom REST-endpoint.

Nikola Ivanov February 7, 2018

Unfortunately no. As I said it is currently tailored to my use case. I've shared it because they might be other people with the same use case.


However, as the portal is heavily javascripted I think there might be a possibility to have the same functionality without the REST:

- grap the jsonPayload element, which contains unparsed json data

- grab the page and load everything in the background

- prase every page's jsonPayload

- init a datatable


Log in or Sign up to comment
AUG Leaders

Atlassian Community Events