springboot使用jira-rest-java-client-api集成jira,自定义对查询board和sprint的支持


公司内部使用jira作项目管理,我接到新的需求,要在测试报告上获取jira的所有项目,再根据项目获取board看板,再根据看板获取Sprint,最后获取未完成的bug信息。效果如下:

第一次接入jira,网上很多人使用jira-rest-java-client-api(5.1.6),在编写demo的过程中,发现并不能满足我的需求——没有对查询board和sprint的支持

查看jira-rest-java-client-api的代码,流程如下(例子是查询jira的所有project):

1、JiraRestClientFactory.createWithBasicHttpAuthentication(URI serverUri, String username, String password)获取AsynchronousJiraRestClient

2、JiraRestClient中有各种类型的Client(但没有对board和sprint的Client),获取项目的client:getProjectClient()

3、调用ProjectRestClient中的getAllProjects()(实现类是AsynchronousProjectRestClient)

4、使用UriBuilder.fromUri()生成一个uri,在属性里new了一个BasicProjectsJsonParser

5、使用getAndParse(URI uri, JsonParser<?, T> parser)发起请求,并在BasicProjectsJsonParser里的parse(JSONArray json)解析json成Iterable<BasicProject>对象

 

 所以只需要参考jira-rest-java-client-api的代码,

1、实现JiraRestClientFactory

2、继承AsynchronousJiraRestClient

3、实现JsonObjectParser

4、对照api返回的参数,编写对应的模型

 

 

代码链接:https://pan.baidu.com/s/1_Yw5vI8DJWHya4NB7QFBhg
提取码:q19n

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM