2016-12-15 89 views
0

I'm很「虛」有關gitlab,我的問題我的聲音愚蠢的...但它不用..連接到gitlab使用gitlab的Java API

我想連接到使用Java gitlab回購,這個想法只是檢索存儲庫的「入口」列表

我似乎有一些java代碼,但我不確定將發送到「連接」方法的URL是什麼。

使用Web瀏覽器的URL是這樣的https://gitlab.zzz.com/

例如: 公共靜態GitlabSession連接(字符串hostUrl,字符串username,字符串密碼)拋出IOException異常{ 字符串tailUrl = GitlabSession.URL; GitlabAPI api = connect(hostUrl,null,null,null); (tail,「username」).with(「password」,password) .to(tailUrl,GitlabSession.class); 返回api.dispatch()。 }

此外,我只有用戶和密碼..沒有oauth標記..有可能連接沒有令牌?

對不起我的虛擬問題,可能你們中的一些人可以提供一些提示如何開始。

謝謝 羅克

回答

0

正確的方式來獲得數據從Gitlab通過Gitlab API(https://docs.gitlab.com/ee/api/README.html)。根據文檔,您首先使用您的用戶名和密碼獲取令牌。此外,您使用此令牌訪問其他資源

+0

謝謝,但「我的」問題開始使用https://gitlab.zzz.com/,用戶名和密碼連接的URL我得到這個錯誤javax.net.ssl.SSLHandshakeException:sun。 security.validator.ValidatorException:PKIX路徑構建失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法找到有效的證書路徑到請求的目標..在這種情況下,網址將是什麼? – user6695579

+0

您應該使用Gitlab證書來加密您的請求,或者編寫您的代碼,例如您信任所有證書。 –

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(); 
+0

謝謝你,但我不再在需要這個項目的項目中,沒有從「項目經理」那裏得到他們如何解決這個問題的任何反饋。 – user6695579