获取gitlab最后一次提交历史

前言:

Gitlab提供了一套完整的Api,我们可以通过调用api中的方法来获取gitlab上的信息,今天有一个需求场景是获取gitlab上的提交信息

地址: https://docs.gitlab.com/ee/api/api_resources.html

步骤:

1.在pom文件引入jar包

  <dependency>
    <groupId>org.gitlab</groupId>
    <artifactId>java-gitlab-api</artifactId>
    <version>4.1.1</version>
  </dependency>

2.项目代码

package com.soup.demo.test;

import org.gitlab.api.GitlabAPI;
import org.gitlab.api.models.GitlabCommit;
import org.gitlab.api.models.GitlabProject;

import java.util.List;

public class GitLabTest {


    public static void main(String[] args) throws Exception {

        //根据项目名称和分支名称获取最后提交的commid
       getGitLabCommid("项目名称", "分支名称");



    }


    public static void getGitLabCommid(String projectName, String branchName) throws Exception {
            GitlabAPI gitlabAPI = GitlabAPI.connect("http://gitlab.axatp.com", "eNS6yYMRFpvHSvsqjJWE");
            List<GitlabProject> projectList = gitlabAPI.getProjects();

            for (GitlabProject gitlabProject : projectList) {
                if (gitlabProject.getName().equals(projectName)) {
                    List<GitlabCommit> gitlabCommitList = gitlabAPI.getLastCommits(gitlabProject.getId(), branchName);
                    System.out.println(gitlabCommitList.size());
                    System.out.println("2222222222");
                    for (GitlabCommit commit : gitlabCommitList) {
                        String commid = commit.getId();
                        System.out.println("commid---"+commid);
                        System.out.println("authorName---"+commit.getAuthorName());
                        System.out.println("message---"+commit.getMessage());
                    }
                }
            }


    }
}

3.项目效果

GitlabProject  获取gitlab上的所有项目

GitlabCommit 获取gitlab上的所有提交历史。

理清逻辑:

1.token 可以在gitlab中 account中设置。

2.传入分支名称 项目名称  登陆gitlab,可以获取当前账号下的所有的项目,匹配当前项目名称,获取最后一次提交历史(getLastCommit)

 

gitlab上的提交历史

本篇文章到这里就结束了 感谢大家的阅读。

 

 

 

 


版权声明:本文为tangthh123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。