1. 程式人生 > 其它 >springboot使用jira-rest-java-client-api整合jira,自定義對查詢board和sprint的支援

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返回的引數,編寫對應的模型

程式碼有點多,有需要的留言,我儘快回覆