일단 atlassian gadget을 만들기 위한 환경이 필요하다.
오라클 기반 JDK 8 버전 또는 OpenJDK 8 버전이 깔려 있어야 한다.
그 이유는 Atlassian Plugin SDK 가 Java8을 기반으로 작성되었기 때문이다.
그 다음에 atlassian 기반 sdk 설치가 필요한데,
: 소프트웨어를 개발하고 확장하기 위해 사용하는 도구와 라이브러리의 모음을 말한다.
SDK는 주로 특정 플랫폼이나 프레임워크를 지원하며, 해당 플랫폼이나 프레임워크를 사용하여 소프트웨어를 개발하고 확장하는 데 필요한 모든 도구와 자원을 제공한다.
따라서 atlassian gadget을 만들려면 atlassian 기반 sdk를 설치해야 그에 맞는 plugin을 설치하는데 용이하다.

문서에 따라 atlassian-plugin-sdk를 설치해준다.
설치가 다 됐다면, 터미널에

을 입력해 해당 version을 확인해준다.
이제 설치된 atlassian sdk를 통해 필요한 plugin을 선택해 설치가 가능하다.
터미널에

atlas-create-jira-plugin을 입력하면 아래의 사진처럼 해당 항목들을 입력하는 과정이 필요한데,

이 사진은 그냥 예시이고 설정하고 싶은 이름으로 프로젝트를 생성하면 된다.
생성 후 터미널에 atlas-run을 입력해 설치된 plugin을 실행하면 된다.
그 전에 프로젝트를 패키징하는데 있어서 오류가 난다면, maven home 경로를 한번 확인해보길 바란다. atlassian 기반으로 되어있는 sdk로 프로젝트를 만들어야하기 때문에 maven home도 기존에 있는 것이 아닌 atlassian sdk 경로로 설정해주어야 한다. 이 때 아까 입력했던 atlas-version 을 입력하면 설치한 버전 정보들이 나오는데 내 경우에는 아래 사진과 같다.

maven home 경로를 ATLAS Maven Home에 있는 링크를 복사해 설정해주면 된다.


프로젝트를 빌드하는데에 문제가 없이 잘 끝났다면 다음 단계로 넘어가면 된다.
(해당 프로젝트에 경로가 설정되어야하는 상태이다.) 터미널에 위에 사진에 나와있는 코드를 입력하면,

설치할 수 있는 plugin module 의 목록을 볼 수 있다.
여기서 우리가 필요한 건 gadget plugin 이기 때문에 7 번을 입력해 gadget plugin을 설치하면 된다.
설치를 하면 atlassian.plugin.xml에 만든 gadget plugin을 찾아볼 수 있다.
gadget 을 설치하게 되면 해당 경로에 만든 가젯 이름.xml 파일이 생성되는데,
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="JIRA Issues" author_email="adent@example.com" directory_title="JIRA Issues"
screenshot="http://labs.atlassian.com/svn/GADGETS/trunk/jira-issues/basic/jira-issues-screenshot.png"
thumbnail="http://labs.atlassian.com/svn/GADGETS/trunk/jira-issues/basic/jira-issues-thumbnail.png">
<Require feature="minimessage" />
<Optional feature="dynamic-height" />
</ModulePrefs>
<UserPref name="show_date" display_name="Show Dates?" datatype="bool" default_value="true"/>
<UserPref name="show_summ" display_name="Show Summaries?" datatype="bool" default_value="true"/>
<UserPref name="num_entries" display_name="Number of Entries:" default_value="5"/>
<Content type="html">
<![CDATA[
Hello, world!
]]>
</Content>
</Module>
아마도 이 형식으로 생겼을 것이다.
</ModulePrefs/> 에 해당 가젯의 정보들을 설정하면 된다.
또한 가젯에 사용자나 개발자가 설정할 수 있는 필수적인 요소 또는 선택적인 요소들을 설정할 수 있는데, 문서를 보고 요소들을 필수로 설정할지 선택으로 설정할지는 정하면 된다.
예를 들어, https://developer.atlassian.com/server/framework/gadgets/using-authentication-in-your-gadget/
이 페이지에 들어가서 보면 using authentication 부분에 있어서는 필수로 설정을 해 인증 부분을 사용할 수 있다.

내가 설정한 부분은 이렇게다.
예를 들어, gadget-directory 부분은 해당 가젯이 가젯을 추가할 때 어떤 카테고리에 들어갈지 정하는 것이다.
https://developer.atlassian.com/server/framework/gadgets/including-features-into-your-gadget/
이 부분을 보면 설정할 수 있는 특징들이 자세히 나와있다.
필요한 것들을 가져와 Optional 을 할 것인지 Require을 할 것인지 설정을 하면 된다.