Atlassian 插件开发
Atlassian 的 Jira 和 Confluence 作为公司内部的流程管理和在线文档工具,如果需要定制化功能、优化工作流等操作,都有必要取了解 Atlassian 的插件开发
一、环境准备
1.1 安装 Atlassian Plugin SDK ,需要注意官网给的地址下载限速,寻找其他的资源下载
1.2 安装成功,通过 atlas-version 指令检查

install_succ.png
二、Jira 插件开发
1. 生成Jira插件项目
通过执行 atlas-create-jira-plugin 指令,可以生成一个空项目信息,里面只包括最基础的,pom.xml,atlassian-plugin.xml 的空项目
1.1 需要提前准备好,你想创建的项目的 maven 信息,groupId、artifactId、version 等

atlas-create-jira-plugin.png
1.2 根据提示输入和确认maven的坐标信息,然后,maven开始下载项目的依赖信息
1.3 最后,项目生成成功的截图如下

atlas-create-jira-plugin_succ.png
1.4 通过 idea 打开生成的项目信息
[图片上传失败...(image-43066f-1756362360140)]
2. 运行生成的Jira插件项目
2.1 执行 atlas-run 指令,文件目录是pom.xml文件位置,启动截图如下:

altas_run_command.png
2.2 不存在maven依赖问题,正常启动的截图如下,访问地址为:http://localhost:2990/jira

altas_run_succ.png
登录界面:

jira_index.png
3. 插件模块能力
3.1 执行 atlas-create-jira-plugin-module 指令,查看插件模块,目前支持的34个类别,具体可以参考官网介绍

altas-plugin-module-list.png
- 添加菜单、子菜单:30.Web Section、25.Web Item
<web-section name="mySection" i18n-name-key="my-section.name" key="my-section" location="my-item-link" weight="1000">
<description key="my-section.description">The mySection Plugin</description>
<label key="my-section.label"/>
</web-section>
<web-item name="myItem" i18n-name-key="my-item.name" key="my-item" section="system.top.navigation.bar" weight="1000">
<description key="my-item.description">The myItem Plugin</description>
<label key="my-item.label"/>
<link linkId="my-item-link"/>
</web-item>
<web-item name="baidu" i18n-name-key="baidu.name" key="baidu" section="my-item-link/my-section" weight="1000">
<description key="baidu.description">The baidu Plugin</description>
<label key="baidu.label"/>
<link linkId="baidu-link">http://www.baidu.com</link>
</web-item>
- 自定义字段类型:4.Custom Field、5.Custom Field Searcher

custom_field_demo.png
- REST API 接口:14.REST Plugin Moudle
<rest name="Hello World Rest" i18n-name-key="hello-world-rest.name" key="hello-world-rest" path="/demo" version="1.0">
<description key="hello-world-rest.description">The Hello World Rest Plugin</description>
</rest>

REST_API_DEMO.png
三、插件开发功能验证
docker 容器启动
默认配置数据库信息,使 jdbc_url 用容器名
docker run
-d --name confluence-server \
-p 8090:8090 \
-e ATL_DB_TYPE=mysql \
-e ATL_JDBC_URL="jdbc:mysql://mysql-server:3306/confluence?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8" \
-e ATL_JDBC_USER=root \
-e ATL_JDBC_PASSWORD=123456 \
-e ATL_DB_SCHEMA_NAME=confluence \
-v D:/docker_desktop/confluence:/var/atlassian/application-data/confluence
atlassian/confluence:5.9
docker run
-d --name mysql-server \
-p 33062:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v D:/docker_desktop/mysql:/var/lib/mysql
mysql:8.4.3