Github API for Javaの使用
13024 ワード
Gidhubの特定のニュース原稿にメッセージを残すユーザをチェックするためのコード。
以下のサイトを参考にして、グーグルで使われている記事は多くありません.apiドキュメントを直接見て作った.
https://github-api.kohsuke.org/
テストのためにレコードが生成されました.
https://github.com/juwon9733/issue_Test
import org.kohsuke.github.*;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class javaStudy {
public static void main(String[] args) throws IOException {
// jwt token을 사용하여 auth
String my_jwt_token = "";
GitHub gitHub = new GitHubBuilder().withOAuthToken(my_jwt_token).build();
// repository 할당
GHRepository repository = gitHub.getRepository("juwon9733/issue_Test");
// issue 리스트
List<GHIssue> issues = repository.getIssues(GHIssueState.ALL);
Map<String, int[]> participantHash = new HashMap<>();
for (int i = 0; i < issues.size(); i++) {
PagedIterable<GHIssueComment> ghIssueComments = issues.get(i).listComments();
for (GHIssueComment ghIssueComment : ghIssueComments) {
String userName = ghIssueComment.getUser().getName();
if(participantHash.containsKey(userName)) {
int[] ints = participantHash.get(userName);
ints[i] = 1;
}
else {
int[] ints = new int[issues.size()];
ints[i] = 1;
participantHash.put(userName, ints);
}
}
}
participantHash.forEach(
(key, value) -> {
System.out.print("| " + key + " | ");
int value_sum = 0;
for (int i : value) { // 1: 참여, 0: 미참여
System.out.print("." + i);
value_sum += i;
}
float percent = (value_sum * 100)/issues.size();
System.out.println(" | " + String.format("%.2f", percent) + "% |");
}
);
}
}
出力)Reference
この問題について(Github API for Javaの使用), 我々は、より多くの情報をここで見つけました https://velog.io/@juwon9733/Github-API-for-Java-사용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol