2013-04-22 81 views
0

我有一個我寫的jira小工具,我希望從匯合中使用。我的機器上有本地運行的Jira和Confluence。我有我的小工具安裝到我的jira實例,並且我有兩個實例作爲應用程序鏈接完全信任鏈接。我已經在管理員的「外部小工具」部分中彙總安裝了我的小工具。然後我創建了一個簡單的頁面,並通過選擇的宏添加了我的小工具。當我點擊我的小工具時,我遇到了顯示配置屏幕的問題。它好像缺少我的i18n資源,因爲我看到這個標籤爲gadget.common.project.label。此外,iframe不擴展以包含我的所有配置。Jira在Confluence配置問題小工具

這裏是我的小工具看起來像匯合 enter image description here

這裏是我的小工具gadget.xml頭部分:

<?xml version="1.0" encoding="UTF-8" ?> 
<Module> 
<ModulePrefs title="__MSG_gadget.title__" 
      directory_title="__MSG_gadget.title__" 
      description="__MSG_gadget.description__" 
      author="__MSG_gadget.author__" 
      thumbnail='#staticResourceUrl("TechnicalDebtTracker:TechnicalDebtTracker-resources", "thumbnail.png")'> 
    <Optional feature="gadget-directory"> 
     <Param name="categories"> 
      . JIRA 
     </Param> 
    </Optional> 
    <Optional feature="atlassian.util"/> 
    <Optional feature="auth-refresh"/> 
    <Require feature="setprefs" /> 
    <Require feature="dynamic-height"/> 
    <Require feature="settitle"/> 
    <Require feature="views"/> 
    <Require feature="oauthpopup"/> 
    #oauth 
    #supportedLocales("gadget.common,gadget.user.activity") 
    <Locale messages="__ATLASSIAN_BASE_URL__/download/resources/TechnicalDebtTracker/i18n/ALL_ALL.xml"/> 
</ModulePrefs> 
<UserPref name="isConfigured" datatype="hidden" default_value="false" /> 
<UserPref name="project" datatype="hidden" required="true" /> 
<UserPref name="methodology_type" datatype="hidden" required="true" default_value="scrum" /> 
<UserPref name="warning_threshold" datatype="hidden" required="true" default_value="10" /> 
<UserPref name="critical_threshold" datatype="hidden" required="true" default_value="20" /> 
<UserPref name="paid_down_period" datatype="hidden" required="true" default_value="90" /> 
<UserPref name="normal_color" datatype="hidden" required="true" default_value="#61F553" /> 
<UserPref name="warning_color" datatype="hidden" required="true" default_value="#FFFA66" /> 
<UserPref name="critical_color" datatype="hidden" required="true" default_value="#FF7A66" /> 
<UserPref name="refresh" datatype="hidden" default_value="false" /> 
<Content type="html"> 
    <![CDATA[ 
     #requireResource("com.atlassian.gadgets.publisher:ajs-gadgets") 
     #requireResource("com.atlassian.jira.gadgets:g-filter-results") 
     #requireResource("TechnicalDebtTracker:TechnicalDebtTracker-resources") 
     #includeResources() 

(function() 
     {  
     var gadget = AJS.Gadget({ 
      baseUrl: "__ATLASSIAN_BASE_URL__", 
      useOauth: "/rest/gadget/1.0/currentUser", 
      config: { 
       descriptor: function(args) { 
        var gadget = this; 

        var projectPicker = AJS.gadget.fields.projectPicker(gadget, "project", args.projectOptions); 
        return { 
         fields: [ 
          projectPicker, 
          { 
           id: "methodology_type-id", 
           userpref: "methodology_type", 
           label: "__MSG_gadget.config.SetMethodology__", 
           description: "", 
           type: "select", 
           selected: gadget.getPref("methodology_type"), 
           options: [ 
              { 
               label:"Scrum", 
               value:"scrum" 
              }, 
              { 
               label:"Kanban", 
               value:"kanban" 
              } 
             ] 
          }, 
          { 
           id: "warning_threshold-id", 
           userpref: "warning_threshold", 
           label: "__MSG_gadget.config.SetWarning__", 
           description: "__MSG_gadget.config.InStoryPoints__", 
           type: "text", 
           value: gadget.getPref("warning_threshold") 
          }, 
          { 
           id: "critical_threshold-id", 
           userpref: "critical_threshold", 
           label: "__MSG_gadget.config.SetCritical__", 
           description: "__MSG_gadget.config.InStoryPoints__", 
           type: "text", 
           value: gadget.getPref("critical_threshold") 
          }, 
          { 
           id: "paid_down_period-id", 
           userpref: "paid_down_period", 
           label: "__MSG_gadget.config.SetPaidDownPeriod__", 
           description: "__MSG_gadget.config.InDays__", 
           type: "text", 
           value: gadget.getPref("paid_down_period") 
          }, 
          { 
           id: "normal_color-id", 
           userpref: "normal_color", 
           label: "__MSG_gadget.config.SetNormalColor__", 
           description: "__MSG_gadget.config.HexCode__", 
           type: "text", 
           value: gadget.getPref("normal_color") 
          }, 
          { 
           id: "warning_color-id", 
           userpref: "warning_color", 
           label: "__MSG_gadget.config.SetWarningColor__", 
           description: "__MSG_gadget.config.HexCode__", 
           type: "text", 
           value: gadget.getPref("warning_color") 
          }, 
          { 
           id: "critical_color-id", 
           userpref: "critical_color", 
           label: "__MSG_gadget.config.SetCriticalColor__", 
           description: "__MSG_gadget.config.HexCode__", 
           type: "text", 
           value: gadget.getPref("critical_color") 
          }, 
          AJS.gadget.fields.nowConfigured() 
         ] 
        }; 
       }, 
       args: function() 
       { 
        return [ 
         { 
          key: "projectOptions", 
          ajaxOptions: "/rest/gadget/1.0/filtersAndProjects?showFilters=false" 
         }, 
        ]; 
       }() 
      }, 
+0

我看不出有什麼小工具看起來像匯合,我想你可能會不小心遺漏了一條鏈接。 – MNRSullivan 2013-04-24 14:13:00

+0

http://i.stack.imgur.com/pZw8w.png – 2013-04-24 18:13:32

回答

2

看看我的 「projectPicker」。我想這可能是有益的:

AJS.$.extend(true, {}, AJS.gadget.fields.projectPicker(gadget, "project", args.projectOptions), 
    {description: "select a project", 
    label: "Project"} 
) 

在那裏,你可以添加你這樣的信息:

AJS.$.extend(true, {}, AJS.gadget.fields.projectPicker(gadget, "project", args.projectOptions), 
    {description: "__MSG_gadget.common.project.label__", 
    label: "__MSG_gadget.common.project.description__"} 
)