项目简介
本项目基于Go语言开发,主要功能是将Jira中的问题数据同步到Elasticsearch,借助Elasticsearch强大的文本搜索能力,实现对Jira问题的高效搜索。此外,项目还提供了基于Web的搜索界面,方便用户操作。
项目的主要特性和功能
- 数据同步:从Jira获取问题数据并同步至Elasticsearch。
- 文本搜索:利用Elasticsearch的搜索功能,提供高效的问题搜索服务。
- OAuth认证:支持通过Google账号进行OAuth认证,保障用户登录安全。
- 静态文件服务:将UI资源编译进二进制文件,提供静态文件服务。
安装使用步骤
部署前准备工作
- 安装Elasticsearch并确保其正常运行。
- 为Elasticsearch安装中文分词插件IK,参考IK分词插件安装文档。
- 在Google账号中申请并配置OAuth,获取
google-oauth-client-id
、google-oauth-client-secret
和google-oauth-callback-url
,参考Google OAuth配置文档。 - 准备可访问Jira的账号,包含用户名、密码和Jira URL。
部署步骤
- 若修改了
templates
目录中的UI代码,使用以下命令生成新的statik.go
文件:bash statik -src=templates
- 编译程序:
bash go build main.go
- 运行程序,配置Jira和Elasticsearch的相关参数:
bash ./main --jira-password xxxx --jira-username xxx --es-url http://127.0.0.1:9200
工作原理
- 通过Jira的API使用JQL语法搜索所需问题。
- 定时或通过API触发,将问题数据存入Elasticsearch。
- 将用户输入的关键字转化为Elasticsearch查询语法,返回高亮结果到用户界面。
注意事项
- 确保Elasticsearch和Jira服务正常运行。
- 正确配置OAuth参数以支持Google账号登录。
- 修改UI资源后,需重新编译生成
statik.go
文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】