前言:
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上的提交历史
本篇文章到这里就结束了 感谢大家的阅读。