在jira插件中使用静态资源(如JQuery)

时间:2012-10-02 09:05:20

标签: javascript jquery plugins resources jira

如何在Atlassian Jira 4.4插件中包含Web资源?

Atlassian的-plugin.xml中:

 <web-resource key="statistics-resources" name="statistics">
    <resource type="download" name="statistics.js" location="js/statistics/statistics.js"/>
    <dependency>jira.webresources:jira-global</dependency>
    <context>com.cs.jira.plugins.statistics-resources</context>
</web-resource>

statistics.js:

$("#projects").change(function() {
$(location).attr('href', "/jira/secure/StatisticsModuleAction!project.jspa?project=" + $(this).find("option:selected").text());});

在Velocity模板中包含资源:

$webResourceManager.requireResourcesForContext("com.cs.jira.plugins.statistics-resources")

当我尝试从我的statistics.js调用javascript函数时,我收到此错误:

  

未捕获的TypeError:对象[对象窗口]的属性'$'不是函数

然后我尝试包含外部jQuery库:

<web-resource key="statistics-resources" name="statistics">
    <resource type="download" name="jquery-1.8.2.js" location="js/lib/jquery-1.8.2.js"/>
    <resource type="download" name="statistics.js" location="js/statistics/statistics.js"/>
    <dependency>jira.webresources:jira-global</dependency>
    <context>com.cs.jira.plugins.statistics-resources</context>
</web-resource>

我在batch.js中遇到了另一个错误:

  

未捕获TypeError:对象[object Object]没有方法'handleAccessKeys'

如何正确包含我的资源?

2 个答案:

答案 0 :(得分:2)

据我所知,您已正确包含了统计资源。您的问题是Jira通过与jquery标准不同的引用提供对jquery的访问。如果您在javascript代码中将$替换为AJS.$,则应解决您的问题。

答案 1 :(得分:0)

employment

应该解决你的问题并且总是通过AJS引用$ function。$由Joe Douglas回答。