Hi,
we have a working custom plugin, developed for Jira 8.5, which uses auiSelect2
Now, since upgrading to Jira 8.11, it no longer works, failing with the error:
Failed to run init function: AJS.$(...).auiSelect2 is not a function
The first line of my *.vm file is importing the select:
$webResourceManager.requireResourcesForContext("com.atlassian.auiplugin:aui-select2")
Followed by:
<script type="text/javascript">
AJS.toInit(function () {
console.log('Hello');
AJS.$("#select-one").auiSelect2();
AJS.$("#select-two").auiSelect2();
...
});
</script>
I've tried to look into some upgrad differences, but I can't see any guides for upgrading from jira 8.5
According to AJS.version the AUI version is 8.6.0
I have also tried adding
<dependency>com.atlassian.auiplugin:aui-select2</dependency>
to my plugin xml, but nothing changed
I managed to solve the problem.
I tried moving the javascript into a resource, but there I noticed that the resource was never properly loaded. I tried:
But to no avail, the resources wouldn't load. This brought me to this topic: https://community.atlassian.com/t5/Answers-Developer-Questions/Velocity-don-t-load-resource/qaq-p/489704 which links this page: https://developer.atlassian.com/server/jira/platform/custom-fields-that-use-css-or-javascript-web-resources-in-jira-5-0/
Here it says: "In JIRA 5.1, calling requireResource()
will not be supported for the other views of a custom field, either. Plugin authors are encouraged to put such web resoruces in the atl.general
context instead of calling requireResource()
from their velocity."
So it seems that the $webResourceManager isn't working properly, or I'm doing something wrong. But following the above, I could get it to work by simply adding a new web-resource with all dependencies to my atlassian-plugin.xml, using the atl.general context:
<web-resource key="magenta-applications-resources" name="tma-jira-plugin MagentaApplications Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<dependency>com.atlassian.auiplugin:jquery-ui-other</dependency>
<dependency>com.atlassian.auiplugin:aui-select2</dependency>
<context>atl.general</context>
</web-resource>
Now the auiselect2 works in both custom fields & in my webwork template
What is interesting, in my custom admin page, adding $webResourceManager.requireResource works, but there it is within "<head> ... </head>" so maybe that has something to do with it.
However, I found that for custom fields or webwork actions, the <head> tags are ignored, so maybe it's something related to that.
Hope someone finds this useful
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.