public ArrayList<ProjInfo> getProjInfo() throws URISyntaxException{
ArrayList<ProjInfo> projs = new ArrayList<ProjInfo>();
AsynchronousJiraRestClientFactory factory = new AsynchronousJiraRestClientFactory();
URI jiraURI = new URI("https://newjira.yanxiu.com/");
JiraRestClient jira_client = factory.createWithBasicHttpAuthentication(jiraURI, "username", "password");
Promise<SearchResult> sr = jira_client.getSearchClient().searchJql("project = TPR AND type = bug");
SearchResult result = sr.claim();
Iterable<BasicIssue> jira_projects = result.getIssues();
int count = result.getTotal();
System.out.println("信息讀自jira,共读取信息 " + count + " 条...");
Iterator<BasicIssue> issues = jira_projects.iterator();
IssueRestClient issue_client = jira_client.getIssueClient();
while (issues.hasNext()){
BasicIssue bi = issues.next();
//System.out.println("runing:" + bi.getKey());
Issue i = issue_client.getIssue(bi.getKey()).claim();
ProjInfo pi = new ProjInfo();
pi.setKey(bi.getKey());
pi.setProjname(i.getSummary());
pi.setStatus(i.getStatus().getName());
pi.setUpdated(DateFormat.datetoString(i.getUpdateDate().toDate()));
Iterator<Subtask> sub = i.getSubtasks().iterator();
//System.out.println("subtask length:" + sub.hasNext());
//StringBuffer必须初始化,否则使用的时候会报空指针错误
StringBuffer subkey_buff = new StringBuffer();
while (sub.hasNext()){
String sub_key = sub.next().getIssueKey();
if (!sub_key.isEmpty()){
subkey_buff.append(sub_key);
subkey_buff.append(" ");
}
}
pi.setSubtasks(subkey_buff.toString());
if (! pi.getKey().isEmpty()){
projs.add(pi);
}
}
return projs;
}