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