2014-11-18 3 views
0

오늘 JIRA 가젯에 CSS 파일과 자바 스크립트 라이브러리를 사용하는 방법 :내가 <em>JIRA 가제트</em> 개발하기 위해 한 번에 두 가지 질문이

1. CSS를 내가 .css 파일에 포함 할 수 있습니까

내 가제트. 나는 약간의 테이블을 가지고있다. 그리고 그들은 약간의 스타일을 가져야한다. .css 파일이이 같이 포함 된 골드 피처-plugin.xml에 이미 :

<web-resource key="Web-resources" name="My Web Resources"> 
    <dependency>com.atlassian.auiplugin:ajs</dependency> 
     <resource type="download" name="MyCSS.css" location="/css/MyCSS.css"/> 
     <context>jira.general</context> 

    <context>The_Context</context> 
</web-resource> 

그러나이 어떻게 가젯이 스타일 시트를 사용할 수 있습니까? 이게 내가 무엇을 필요로하니?

2. JS 라이브러리

는 또한 또한 골드 피처-의 plugin.xml에 포함 된 Chart.js 라이브러리를 포함합니다. 하지만 가젯에서 사용하는 방법은 무엇입니까?

누군가가 설명이나 예제 코드를 제공해 줄 수 있습니까?

대단히 감사합니다!

+0

JIRA의 개발자 문서는 무엇을 말하는가? – Andy

+0

대단히 ...하지만 이해할 수있는 것은 아무것도 없습니다. (https://developer.atlassian.com/display/JIRADEV/Web+Resource+Plugin+Module 등) –

+0

이 https : //도 발견했습니다. answers.atlassian.com/questions/38299/jira-css-font-family-font-color-in-activity-stream-and-dashboard-gadgets하지만 첫 번째 답변을 이해하지 못하고 두 번째 복용량이 작동하지 않습니다 (?). . –

답변

0

gadget.xml 파일에서 프로젝트 키와 가젯 키를 통해 리소스를 포함하고 정의해야합니다. 는 - 귀하의 경우 가젯 키는 "웹 자원"(나는 당신이 mygadget-자원을 위해 이름을 변경하는 것이 좋습니다) 이다 - 프로젝트 키 요소의 특성으로 당신의 골드 피처-의 plugin.xml 파일에 정의되어 <atlassian-plugin key="your-project-key">

에서 요소의 내용 안에 CDATA 섹션에서 gadget.xml 파일 먼저 자원을 필요로 다음을 포함한다 :

이후
<Content type="html" view="profile"> 
      <![CDATA[ 
       #requireResource("your-project-key:Web-resources") 
       #includeResources() 
      ]]> 
    </Content> 

당신이 MyCss.css에 가지고있는 CSS 스타일을 사용할 수 있습니다 및 다른 자원 태그를 추가하는 경우 당신의 JS 파일을 위해 이것도 포함될 것이다.

초보자를 맞아야합니다.

0

내 가젯의 경우 atlassian-plugin.xml에서 모든 XML, HTML, JavaScript 및 CSS를 분리합니다.

처음에는 설정이 더 복잡하지만 일단이 문제가 해결되면 atlassian-plugin.xml 파일에 모든 항목을 변경하는 것보다 훨씬 편리합니다.

상대 경로는 실제로 미친 것처럼 보입니다.

내 파일 시스템은 다음과 같습니다

- resources/ 
    - gadgets/ 
     - css/ 
      - example.css 
     - html/ 
      - example.html 
     - js/ 
      - example.js 
     - examaple-gadget.xml 
    - atlassian-plugin.xml 

/resources/atlassian-plugin.xml에서 :

<!-- add our web resources --> 
<web-resource key="${project.artifactId}-resources" name="${project.artifactId} Web Resources"> 
    <dependency>com.atlassian.auiplugin:ajs</dependency> 
    <resource type="download" name="example-gadgets/" location="/gadgets"/> 
    <context>immersive-for-connections</context> 
</web-resource> 

<gadget name="Example JIRA Gadget" i18n-name-key="example-jira-gadget.name" key="example-jira-gadget" location="gadgets/example-gadget.xml"> 
    <!-- hosted at: /rest/gadgets/1.0/g/${project.groupId}.${project.artifactId}:example-gadgets/gadgets/example-gadget.xml --> 
    <description key="jira-query-gadget.description">The JIRA Query Gadget Plugin</description> 
</gadget> 

/resources/gadgets/example-gadget.xml에서 (정확한 값으로 $ {project.artifactId} & ${project.groupId} 교체) :

<?xml version="1.0" encoding="UTF-8" ?> 
<Module> 
    ... 
    <Content type="html" view="example.view" preferred_width="100%" href="../../../../../../download/resources/${project.groupId}.${project.artifactId}:${project.artifactId}-resources/gadgets/html/example.html"/> 
</Module> 

/resources/gadgets/html/example.html에서 (정확한 값으로 $ {project.artifactId} & ${project.groupId} 교체) :

<!DOCTYPE html> 
<html> 
    <head> 
     ... 
     <!-- added ../../../../../../download/resources/${project.groupId}.${project.artifactId}:${project.artifactId}-resources/gadgets/ to most relative links --> 
     <link href="../../../../../../download/resources/${project.groupId}.${project.artifactId}:${project.artifactId}-resources/gadgets/css/example.css" type="text/css" rel="stylesheet"> 
     <script src="../../../../../../download/resources/${project.groupId}.${project.artifactId}:${project.artifactId}-resources/gadgets/js/example.js" type="text/javascript" charset="utf-8"></script> 
    </head> 
    <body> 
     ... 
    </body> 
</html>