使用gitlab java api连接到gitlab

时间:2016-12-15 10:54:58

标签: java gitlab gitlab-api

我对gitlab非常“虚伪”,我的问题是我的声音很愚蠢...但它在哪里......

我想使用java连接到gitlab repo,这个想法只是检索存储库的“条目”列表

我似乎有一些java代码,但我不确定发送到“connect”方法的url是什么。

使用网络浏览器,网址就像这样https://gitlab.zzz.com/

示例:   public static GitlabSession connect(String hostUrl,String username,String password)抛出IOException {         String tailUrl = GitlabSession.URL;         GitlabAPI api = connect( hostUrl ,null,null,null);         return api.dispatch()。with(“login”,username).with(“password”,password)                 .to(tailUrl,GitlabSession.class);     }

另外,我只有用户和密码..没有oauth令牌..没有令牌可以连接吗?

对不起我的虚假问题,你们中的一些人可以提供一些如何开始的提示。

谢谢 罗克

3 个答案:

答案 0 :(得分:0)

从Gitlab获取数据的正确方法是通过Gitlab API(https://docs.gitlab.com/ee/api/README.html)。根据文档,您首先使用您的用户名和密码获得令牌。此外,您可以使用此令牌访问其他资源

答案 1 :(得分:0)

您可以使用GitLab4J(https://github.com/gmessner/gitlab4j-api)来执行此操作。它允许您使用用户名和密码进行连接,并在内部处理返回的会话令牌。

// Create a GitLabApi instance to communicate with your GitLab server
GitLabApi gitLabApi = GitLabApi.login("http://your.gitlab.server.com", "USERNAME", "PASSWORD");

// Get the list of projects your account has access to
List<Project> projects = gitLabApi.getProjectApi().getProjects();

答案 2 :(得分:0)

我能够使用以下Java gitlab API连接到gitlab。为此,您需要允许防火墙。

@RestController
@RequestMapping("/test")`enter code here`
public class GitlabController {

    @RequestMapping("/hello")
    public String getGitData() throws GitLabApiException {

        System.out.println("going to execute gitlab api..");
        GitLabApi gitLabApi = GitLabApi.login("https://gitlab.<domain>.com/", "USERNAME", "PASSWORD");
        User currentUser = gitLabApi.getUserApi().getCurrentUser();
        System.out.println(currentUser.getUsername());
        return "returning from git Controller";
    }

}