selah

通过java操作jira的例子

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;

}


评论

© selah | Powered by LOFTER