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

When writing User Macros I find myself forced to hardcode the Application link!

zaphnet July 1, 2020

When writing a User Macro to visualize/access information from for example JIRA in confluence I use Ajax calls through the application link:

confbase = AJS.Confluence.getBaseUrl();
confproxy = "XXXXX";
jirabase = "https://xxx.yyy.net";
jQuery.ajax({
url: confbase+"/plugins/servlet/applinks/proxy?appId="+confproxy +"&path="+jirabase+"/rest/api/2/search?jql="+"$paramJQL"
type: "GET",
dataType: "json",
}).done(function(data) {
...
}

I am forced to hardcode the jirrabase and the proxy!

As a admin in the system I'm able to:

//
// Get a list of all application link configured in Confluence
//
/*
jQuery.ajax({
url: confbase + '/rest/applinks/1.0/listApplicationlinks.json',
type: "GET",
dataType: "json",
success: function(data) {
AJS.log("Yes!");
}
}).done(function(data) {
//
// Iterate over a list of application links
// search for Jira application link
// search in Jira application link found
//
jQuery.each(data.list, function (i, v) {
if (v.application.typeId == 'jira') {
confproxy = v.application.id;
jirabase = v.application.displayUrl;
}
})

I guess there is a security problem letting all users access this REST API?

Is there some other solution to this problem? 

I've had some previous problems with JQuery and the proxy, most of them resolved by now - Thank you all! The remaining problem is to use PUT (Creating or Modifying issues in JIRA from Confluence) - Yes I know there are plugins, but I want total control.

1 answer

0 votes
zaphnet July 1, 2020

If I'm not an admin I get:

{"message":"Only an admin can access this resource.","status-code":401}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events