Gitlabは、APIを使用して情報にアクセスする多くの方法を提供します。この記事では、主に「アクセストークン」を使用してAPIの情報にアクセスする方法について説明します。
目次
1.予備準備
gitlabにログインし、個人設定で次の図1の左側のサイドバーにある「アクセストークン」を見つけ、必要に応じて図に情報を入力し、最後に作成ボタンをクリックして重要な情報を取得します図2で、それを保存します。
2.コード戦闘
pomファイルパッケージは
<dependency>
<groupId>org.gitlab</groupId>
<artifactId>java-gitlab-api</artifactId>
<version>4.1.1</version>
</dependency>
public static void main(String[] args) {
GitlabAPI gitlabAPI = GitlabAPI.connect("url地址", "刚刚获得的accessToken");
try {
GitlabProject gitlabProject = gitlabAPI.getProject("你的namespace", "你的projectName");
List<GitlabBranch> gitlabBranchList = gitlabAPI.getBranches(gitlabProject);
for(int i = 0;i<gitlabBranchList.size();i++){
System.out.println(gitlabBranchList.get(i).getName());
}
} catch (IOException e) {
e.printStackTrace();
}
}
最終的な出力は次のとおりです。
3.GitlabAPIソースコードの主要なメソッドの分析
ソースコードを確認してください。getメソッドはたくさんあります。必要な情報コンテンツを取得できます。一般的に使用されるいくつかのキーの例
getRepositoryFile()
最初にソースコードを見てください。このメソッドがプロジェクトのすべてのファイルを取得するために使用されることは非常に明確です。プロジェクト全体のファイルオブジェクトは、プロジェクトオブジェクト、パス、およびブランチ名を渡すことによって取得されます。
public GitlabRepositoryFile getRepositoryFile(GitlabProject project, String path, String ref) throws IOException {
Query query = new Query()
.append("ref", ref);
String tailUrl = GitlabProject.URL + "/" + project.getId() + "/repository/files/" + sanitizePath(path) + query.toString();
return retrieve().to(tailUrl, GitlabRepositoryFile.class);
}
ファイルオブジェクトを取得した後、GitlabRepositoryFileエンティティクラスのgetContent()メソッドを使用して内部のコンテンツを取得しますが、最終的にコードのビューを実現するには、次の復号化アルゴリズムを実行する必要があります。
new String(decoder.decode(gitlabRepositoryFile.getContent()), "UTF-8");