GitHubのAPIを使用したリポジトリのクローズドイシューの分析


  1. GitHubのAPIアクセストークンの取得:

    • GitHubのウェブサイトにアクセスし、アカウントにログインします。
    • 「Settings」(設定)ページに移動し、「Developer settings」(開発者設定)を選択します。
    • 「Personal access tokens」(パーソナルアクセストークン)を選択し、新しいトークンを生成します。必要なスコープ(権限)を選択してトークンを作成し、トークンを安全な場所に保存します。
  2. Pythonのリクエストライブラリを使用してAPIにアクセスするコードの作成:

    import requests
    def get_closed_issues(repo_owner, repo_name, api_token):
       headers = {
           'Authorization': f'token {api_token}',
           'Accept': 'application/vnd.github.v3+json'
       }
       url = f'https://api.github.com/repos/{repo_owner}/{repo_name}/issues?state=closed'
       response = requests.get(url, headers=headers)
       return response.json()
    repo_owner = "octocat"
    repo_name = "hello-world"
    api_token = "YOUR_API_TOKEN"
    closed_issues = get_closed_issues(repo_owner, repo_name, api_token)
    print(closed_issues)

    上記のコードでは、get_closed_issues関数を使用してクローズドイシューのデータを取得しています。repo_ownerrepo_nameには対象のリポジトリの所有者と名前を指定し、api_tokenには先ほど取得したAPIトークンを設定します。取得したデータはJSON形式で返されます。

    • クローズドイシューの総数を取得する:

      total_closed_issues = len(closed_issues)
      print("Total closed issues:", total_closed_issues)
    • for issue in closed_issues:
       issue_title = issue["title"]
       created_at = issue["created_at"]
       print("Issue:", issue_title)
       print("Created at:", created_at)
    • クローズドイシューのラベルと数を表示する:

      label_counts = {}
      for issue in closed_issues:
       labels = issue["labels"]
       for label in labels:
           label_name = label["name"]
           if label_name in label_counts:
               label_counts[label_name] += 1
           else:
               label_counts[label_name] = 1
      print("Label counts:")
      for label, count in label_counts.items():
       print(label, ":", count)

このように、GitHubのAPIを使用してリポジトリのクローズドイシューを分析する方法を説明しました。これにより、リポジトリの問題や傾向を把握し、開発プロセスの改善に役立ったります。