JiraRestClient_Java客户端基础调用Demo

文章目录

前期准备

1.首先要安装好Maven环境;
2.需要创建一个Maven项目或者Springboot项目,可以参考:SpringBoot — 初始创建项目小白教程

Demo创建

1.配置 pom.xml 文件,添加JiraRestJavaClient的依赖包:

  <!-- 使用jira-rest-cilent的依赖-->
  	<dependencies>
  		...
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-java-client-core</artifactId>
            <version>5.1.6</version>
        </dependency>
        <dependency>
            <groupId>io.atlassian.fugue</groupId>
            <artifactId>fugue</artifactId>
            <version>4.7.2</version>
        </dependency>
     <dependencies>

这里依赖的版本要注意,因为好像两者需要协同工作。如果版本不搭配,可能会出现报错。
仓库可以参考:https://mvnrepository.com/artifact/io.atlassian.fugue/fugue

  1. 创建个类,用用户名密码认证的方式床创建客户端:
public class JiraUtil {
  /**
    * 登录Jira并返回指定的JiraRestClient对象
    * @param username
    * @param password
    * @throws URISyntaxException
    * */
    public static JiraRestClient loginJira(String url,String userName,String pwd){
        AsynchronousJiraRestClientFactory asynchronousJiraRestClientFactory = new AsynchronousJiraRestClientFactory();
        JiraRestClient jiraRestClient = asynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(
                URI.create(url), userName,pwd);
        return jiraRestClient;
    }
}

public static void main(String[] args) {
        JiraRestClient client = loginJira("http://localhost:8080","username","pwassword");
        //根据key查询issue
        Issue issue =client.getIssueClient().getIssue("key-1").claim();
    }

主要就是利用JiraRestClient实例,调用一系列操作方法。
获取到JiraRestClient的实例之后,就可以利用对象的getIssueClient犯法获取一些issue基础数据了。

也可以自行进行方法封装,方便后续方法调用。
例如:

 /**
* 获取指定JIRA的开发的姓名列表
 *
 * @param issue
 * @return
 * @throws URISyntaxException
 */
public static ArrayList<String> get_developers(Issue issue) throws URISyntaxException {
    try {
        ArrayList<String> developersList = new ArrayList<String>();
        Json json = Json.read(issue.getFieldByName("开发人员").getValue().toString());
        Iterator<Json> developers = json.asJsonList().iterator();
        while (developers.hasNext()) {
            Json developer = Json.read(developers.next().toString());
            String developerName = developer.at("displayName").toString();
            developersList.add(developerName);
        }
        return developersList;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
/**
 * 通过jql语句进行查询并返回一个包含issue的key的数组
 * 
 * @param username 登录JIRA的用户名
 * @param password 登录JIRA的用户密码
 * @param current_user_name 要查询的用户名
 * @param jql
 * @return
 * @throws URISyntaxException
 */
public static ArrayList<String> search_jql(String username, String password, String current_user_name, String jql)
        throws URISyntaxException {
    final JiraRestClient restClient = loginJira(username, password);
   
    SearchResult searchResult = restClient.getSearchClient().searchJql(jql).claim();
    Iterator<BasicIssue> basicIssues = searchResult.getIssues().iterator();
    ArrayList<String> issueKeys = new ArrayList<>();
    while (basicIssues.hasNext()) {
        String issueKey = basicIssues.next().getKey();
        System.out.println(issueKey);
        issueKeys.add(issueKey);
    }
    return issueKeys;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值