通过接口获取远程Git仓库分支列表

        在做代码覆盖率和自动化测试的时候都需要获取分支列表,选择使用哪个分支。目前比较主流的就是通过Gitlab Api和JGit两种方式。但是看了下一般JGit都需要建立本地仓库,通过.git配置文件获取,直接通过代码地址(remoteUrl)好像很难拿到,尝试了下用JGit在call的时候总是报错,后续再研究研究(如果合适的方式有可以留言,谢谢)。所以就采取了用GitLabApi的方式获取。

        GitLab提供了丰富的Api给我们使用,通过search可以查到仓库完整的信息

         /api/v4/projects?access_token=xxx&search=xxx

     

通过接口获取远程Git仓库分支列表_第1张图片

 

 但是这里似乎模糊查询,还得匹配下,根据ssh和http匹配下

public String BranchList(String gitAddress){
    String branchName = branchName(gitAddress);
    String requestUrl = gitLabUrl+"?"+"access_token="+accessToken+"&"+"search="
    +branchName;;
    String result=HttpUtil.GetResponse(requestUrl);
    //获取分支
    String res=null;
    if (result!=null){
        List listName = JSONObject.parseArray(result,String.class);
        for(int i=0;i

 

repo_branches就是分支的url,请求这个地址就可以得到分支列表

通过接口获取远程Git仓库分支列表_第2张图片

你可能感兴趣的:(通过接口获取远程Git仓库分支列表)