<context>alt.general</context> required to load javascript

Sevak Asadorian November 28, 2017
 <web-resource key="myPlugin-resources" name="myPlugin Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="myPlugin.css" location="/css/myPlugin.css"/>
<resource type="download" name="highcharts.js" location="/js/highcharts.js"/>
<resource type="download" name="myPlugin.js" location="/js/myPlugin.js"/>
<resource type="download" name="images/" location="/images"/>
<context>myPlugin</context>

In order for highcharts to work, the following is required:

<context>atl.general</context>

This causes our main jira instance to crash due to the scripts running on every page of Jira and having undefined vars (the scripts need to run with the context of the plugin only!).

 

Also, what is the plugin name that should go between the context tag? Is it the name that is defined in pom.xml file under 'artifactId' tag or 'name' tag or something else? (I have tried both, and no luck)

 

How to fix this?

 

Please advise.

1 answer

1 accepted

1 vote
Answer accepted
miikhy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 29, 2017

Hi Sevak,

Plugins can have multiple contexts for different pages or servlets based on your needs. When you set a context, it must be required in the precises places you want to use it for resources to be injected. When you use atl.general context, the script is therefore injected in all pages which is the expected behaviour.

If you build a JiraWebAction associated with a velocity template, you have to add the context required by your action using the following in your vm file:

$webResourceManager.requireResourcesForContext("groupAmbassadors")
$webResourceManager.requireResourcesForContext("groupAmbassadorsUsersUsage")

The whole web resources mechanism is well documented here: https://developer.atlassian.com/confdev/confluence-plugin-guide/confluence-plugin-module-types/web-resource-module

The above mentioned page explains how to load your resources in different objects.

Hope this helps!

Cheers

Sevak Asadorian November 29, 2017

Thanks, Micky.

Working now.

miikhy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 29, 2017

Great!

Please check this question as answered if you don't mind, that might help people in the same situation to find their way through this.

Welcome in the complex but fascinating family of Jira Apps developers, I am myself still improving but learnt a lot and loved it!

Have a great day!

Sevak Asadorian November 29, 2017

Will do.

Yes, def. Thx! 

Suggest an answer

Log in or Sign up to answer