packagecom.mockCommon.util;importjava.net.URI;importjava.net.URISyntaxException;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importorg.joda.time.DateTime;importcom.atlassian.jira.rest.client.JiraRestClient;importcom.atlassian.jira.rest.client.NullProgressMonitor;importcom.atlassian.jira.rest.client.domain.BasicComponent;importcom.atlassian.jira.rest.client.domain.Comment;importcom.atlassian.jira.rest.client.domain.Issue;importcom.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory;importcom.mockCommon.model.JiraInfoModel;importmjson.Json;public classJiraUtil {/*** 登录JIRA并返回指定的JiraRestClient对象
*
*@paramusername
*@parampassword
*@return*@throwsURISyntaxException*/
public static JiraRestClient login_jira(String username, String password) throwsURISyntaxException {try{final JerseyJiraRestClientFactory factory = newJerseyJiraRestClientFactory();final URI jiraServerUri = new URI("http://jira.ms.netease.com");final JiraRestClient restClient =factory.createWithBasicHttpAuthentication(jiraServerUri, username,
password);returnrestClient;
}catch(Exception e) {
e.printStackTrace();
}return null;
}/*** 获取并返回指定的Issue对象
*
*@paramissueNum
*@paramusername
*@parampassword
*@return*@throwsURISyntaxException*/
public static Issue get_issue(String issueNum, String username, String password) throwsURISyntaxException {try{final JiraRestClient restClient =login_jira(username, password);final NullProgressMonitor pm = newNullProgressMonitor();final Issue issue =restClient.getIssueClient().getIssue(issueNum, pm);returnissue;
}catch(Exception e) {
e.printStackTrace();
}return null;
}/*** 获取指定JIRA备注部分的内容
*
*@paramissue
*@paramusername
*@parampassword
*@return*@throwsURISyntaxException*/
public static List get_comments_body(Issue issue) throwsURISyntaxException {try{
List comments = new ArrayList();for(Comment comment : issue.getComments()) {
comments.add(comment.getBody().toString());
}returncomments;
}catch(Exception e) {
e.printStackTrace();
}return null;
}/*** 获取指定JIRA的创建时间
*
*@paramissueNum
*@paramusername
*@parampassword
*@return*@throwsURISyntaxException*/
public static DateTime get_create_time(Issue issue) throwsURISyntaxException {try{returnissue.getCreationDate();
}catch(Exception e) {
e.printStackTrace();
}return null;
}/*** 获取指定JIRA的描述部分
*
*@paramissueNum
*@paramusername
*@parampassword
*@return*@throwsURISyntaxException*/
public static String get_description(Issue issue) throwsURISyntaxException {try{returnissue.getDescription();
}catch(Exception e) {
e.printStackTrace();
}return null;
}/*** 获取指定JIRA的标题
*
*@paramissueNum
*@paramusername
*@parampassword
*@return*@throwsURISyntaxException*/
public static String get_summary(Issue issue) throwsURISyntaxException {try{returnissue.getSummary();
}catch(Exception e) {
e.printStackTrace();
}return null;
}/*** 获取指定JIRA的报告人的名字
*
*@para