Configuration Web Resource For Plugin in JIRA


JIRAがPluginを開発する過程で、外部資源(CSS、JS、IMG)をどのようにページに導入するかという問題に遭遇したことがあります.これまでPluginを開発していた時、私は直接CSS、JSをページに書きました(時間制限).しかし、先日、これらの問題はすでに解決され、もとはそんなに簡単だった.はい、くだらないことは言わないでください.これからは私が実現した方法だけを皆さんに伝えます.もし他の方法やアドバイスや批判があれば、直接コメントしてください.ここではまず皆さんに感謝します.
 
前提:
1、JIRA環境;
2、完成品project-management-plugin.JArプラグインパッケージ、showProjectManagementがあります.vm、proj_mgt.css、proj_mgt.js 3つのファイル.
 
目的:
1、ページ(showProjectManagement.vm)がCSS、JSファイルにどのように引用できるか.
 
実装方式1:Pluginパッケージに存在するCSS、JSリソースファイルを直接参照する.
     
まず、atlassian-pluginを構成する.xmlファイル:

    
<
resource
type
="
download
"
name
="
proj_mgt.css
"
location
="
template/project/management/style/palms_proj_mgt.css
"/>
    
<
resource
type
="
download
"
name
="
proj_mgt.js
"
location
="
template/project/management/style/_mgt.js
"/> 
 
web-resource
>
次にshowProjectManagement.vmページの上部には、次のコードが追加されます.
   $webResourceManager.requireResource("project.management.palms-project-management-plugin:proj.mgt.web.resource")
これらのコードは何ですか?どうやって来ましたか.焦らないで、後で説明します.
         $webResourceManager.requireResource():これはみんな心配しなくてもいいです.これはJIRA内部類の方法です.私たちは中のパラメータだけに関心を持っています.パラメータの異なる色の領域に注意してください.
          project.management.Project-management-plugin:この長い列はatlassian-pluginです.xmlファイルのルートノードのKey値は、最後にatlassian-pluginを見てください.xml、pom.xmlプロファイルの内容で答えが得られます.
         proj.mgt.web.resource:これは上に貼ったコードから見つかるはずです.はい、ノードのKey値です.
このように解釈すれば、みんなが理解できると信じています.
この2つの構成が完了すれば、あなたは成功します.
実装方式2:server側のCSS,JSなどのリソースを直接参照する.
1、仮に我々が%JIRA_HOME%/style/css/proj_mgt.css,%JIRA_HOME%/style/js/proj_mgt.jsにはこのような2つのファイルがあります.
2、%JIRAを見つけるHOME%/WEB-INF/classes/system-webresources-plugin.xmlファイルは、次のような構成で開きます.
     
-

 
 

-

 
 

 

3、Pluginに戻ってatlassian-pluginを見つけた.xmlファイル、以下の構成を行います.
      
         jira.webresources:proj.mgt.plugin.web.resource 
 

説明:
         jira.Webresources:ファイルsystem-webresources-plugin.xmlルートノードのKey値;
                proj.mgt.plugin.web.resource:のKey値
4、ページ上部に次のコードを追加します.
        $webResourceManager.requireResource("project.management.project-management-plugin:proj.mgt.web.resource")
説明は第1の方法と同じで、ここでは省略する.
OK、2つ目の方法も完成しました.ほほほ
atlassian-pluginを表示します.xmlセクションの内容:

   
   

-  
  
 configuration web resource in plugin 

<
resource
type
="
download
"
name
="
proj_mgt.css
"
location
="
template/project/management/style/proj_mgt.css
"
/>
 
<
resource
type
="
download
"
name
="
proj_mgt.js
"
location
="
template/project/management/style/proj_mgt.js
"
/>
 
web-resource
>

system-websresources-pluginを表示します.xmlファイルの内容:

  <
web-resource key
="
proj.mgt.plugin.web.resource
"
i18n-name-key
="
admin.web.resources.plugin.calendar.zh.name
"
name
="
Calendar
"
state
="
enabled
">
    <
resource type
="
download
"
name
="
proj_mgt.css
"
location
="
/style/css/proj_mgt.css
">
 
<
param
name
="
source
"
value
="
webContextStatic
"/>
 
resource
>
  <
resource type
="
download
"
name
="
proj_mgt.js
"
location
="
/style/js/proj_mgt.js
">
 
<
param
name
="
source
"
value
="
webContextStatic
"/>
 
resource
>
 
web-resource
>

ここまで来て終わっても、自分が書いた機会があなたたちを助けることができることを望んでいます.