이 문서는 Atlassian JIRA 플러그인 개발에 대한 간단한 가이드를 제공합니다. Atlassian SDK를 사용하여 빌드하는 방법과 Atlassian에서 제공하는 플러그인 템플릿을 이용하여 JIRA 상단에 메뉴를 추가하는 간단한 예시입니다. 


이 가이드를 진행하시기 전에 다음 사항들이 준비되어 있습니다. 


  • Oracle JDK 8 설치
  • 2990 포트 비우기

2990 포트는 플러그인을 탑제된 JIRA가 실행되는 서버의 포트입니다. 

1. Atlassian SDK 설치하기

1.1. JAVA_HOME 설정과 Path 등록

환경변수 JAVA_HOME을 만들고 설치되어 있는 JDK의 위치를 입력해줍니다. 다음 그림을 참조하세요.


그리고 환경변수 Path에 %JAVA_HOME%\bin을 등록해줍니다. 

이제 명령어 프롬프트는 실행시켜 javac 가 실행되는지 확인합니다. 


1.2 Atlassian SDK 설치 및 확인

다음 링크를 통해 Atlassian Plugin SDK를 다운로드 받습니다. 

https://marketplace.atlassian.com/download/plugins/atlassian-plugin-sdk-windows

다운로드 받은 설치파일을 더블 클릭하여 실행하고 설치를 진행합니다. 

SDK 설치가 완료되면 명령어 프롬프트에 atlas-version을 입력해봅니다. 

아래와 같이 결과가 나오면 성공적으로 설치된 것이라고 볼 수 있습니다. 



2. 간단한 플러그인 프로젝트 만들기

상위의 모든 필요한 환경이 준비가 되었다면, 다음을 진행하시기 바랍니다. 

2.1 스켈레톤 코드와 빌드

a. 일단 플러그인을 만들고 싶은 폴더로 이동합니다. 그리고 여기서 명령어 프롬프트를 실행합니다.

b. 그리고 플러그인을 만들기 위한 atlas-create-jira-plugin 명령을 수행합니다.

이 명령은 maven을 통해 JIRA 플러그인 skeleton 코드를 빌드합니다. 화면에는 메이븐 명령과 필요한 파일들이 다운로드되는 로그를 확인할 수 있습니다.

c. 진행을 하다보면, 몇몇 정보를 입력하게 됩니다. 아래를 참고하여 필요한 정보를 입력합니다.


  • Define value for groupId : com.atlassian.tutorial
  • Define value for artifactId : myPlugin
  • Define value for version : 1.0.0-SNAPSHOT
  • Define value for package : com.atlassian.tutorial.myPlugin

다음 그림과 같이 나타날 수 있습니다.


마지막으로 입력한 값을 확인하게 되면 모든 절차가 완료됩니다. 


2.2 플러그인이 설치된 JIRA 서버 시작

a. 일단 해당 플러그인이 있는 폴더로 이동하여 atlas-run을 실행합니다.  이때 마지막에 -X 옵션을 주면 디버거 모드로 로그를 확인할 수 있습니다. 이제 수 많은 디펜던시 파일들고 함께 빌드를 시작하고 내장되어 있는 서버에 필요한 파일들을 배포합니다. 마지막에 Tomcat 8.x started on port [2990] 메시지가 나오면 정상적으로 빌드 및 서버가 시작된 것입니다. 

b. 이제 웹브라우저를 실행하고 http://localhost:2990/jira 로 접속하면 JIRA로 로그인할 수 있습니다. 다음 아이디와 패스워드를 이용합니다. 


  • Username : admin
  • Password : admin


c. 로그인 후 JIRA의 관리자 페이지에서 해당 플러그인이 있는지 확인합니다. 설치된 플러그인 리스트에서 myPlugin을 확인할 수 있습니다. 




3. 플러그인 수정

이전까지 플러그인 Skeleton 코드를 빌드하고 JIRA 서버에 접속해서 확인을 해보았습니다. 이제 플러그인 Skeleton 코드를 수정하거나 기능 모듈들을 추가하여 자신의 플러그인을 만드는 절차에 대해서 간단히 알아보겠습니다.


3.1 Organization 정보 수정

이번에는 플러그인의 조직정보(Vender)를 수정합니다. 이는 상위의 그림에서 myPlugin의 Vendor 영역입니다.


a. 이를 수정하기 위해 먼저 플러그인 폴더에서 pom.xml 파일을 오픈합니다. <organzation>을 찾아서 원하는 이름으로 변경 후에 저장합니다. 필자는 다음과 같이 변경하였습니다.


1
2
3
4

<organization>
    <name>curvc</name>
    <url>http://www.curvc.com/</url>
</organization>


b. 이제 명령어 프롬프트에서 다시 빌드하고 JIRA 서버에 접속하여 Vendor 명이 변경되었는지 확인합니다.


3.2 JIRA에 커스텀 메뉴 추가하기


이제 JIRA에서 커스템 메뉴를 추가하는 방법에 대해서 알아 봅니다.

명령어 프롬프트에서 myPlugin 위치에서 atlas-create-jira-plugin-module을 실행합니다. 다음과 같이 플러그인 모듈을 선택하는 명령이 나타납니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

1: Component Import
2: Component
3: Component Tab Panel
4: Custom Field
5: Custom Field Searcher
6: Downloadable Plugin Resource
7: Gadget Plugin Module
8: Issue Tab Panel
9: Keyboard Shortcut
10: JQL Function
11: Licensing API Support
12: Module Type
13: Project Tab Panel
14: REST Plugin Module
15: RPC Endpoint Plugin
16: Report
17: Search Request View
18: Servlet Context Listener
19: Servlet Context Parameter
20: Servlet Filter
21: Servlet
22: Template Context Item
23: User Format
24: Version Tab Panel
25: Web Item
26: Web Panel
27: Web Panel Renderer
28: Web Resource
29: Web Resource Transformer
30: Web Section
31: Webwork Plugin
32: Workflow Condition
33: Workflow Post Function
34: Workflow Validator


Web Item인 25번을 입력합니다. 추가적인 질문에 대한 답은 다음과 같이 입력합니다.


1
2
3
4

Enter Plugin Module Name My Web Item: : curvcItem
Enter Section (e.g. system.admin/globalsettings): system.top.navigation.bar
Enter Link URL (e.g. /secure/CreateIssue!default.jspa): deleteMe
Show Advanced Setup? (Y/y/N/n) N: : N


이제 다른 플러그인 설치를 묻으면, N를 입력합니다. 빌드가 성공되었다는 메시지를 받을 수 있습니다.

재빌드를 하고 서버를 띄어서 아래와 같이 메뉴가 생겼는지를 확인합니다.




Atlassian 제품에 대한 추가적인 문의 사항은 다음 링크를 이용하세요.


  • No labels