Github API for Javaの使用


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) + "% |");

                }

        );
    }
}
出力)