Open10

GitHub などでの Activity Report を生成したい

Shunsuke SuzukiShunsuke Suzuki

欲しい情報

  • 作成・更新・マージ・クローズした PR, Issue, Discussion の一覧
  • 作成・更新・アーカイブしたリポジトリの一覧
  • 作成した Release の一覧
  • リポジトリ・ Org ごとに分割
  • star した リポジトリの一覧
  • sponshorship した org, user の一覧

API

https://docs.github.com/ja/rest/activity?apiVersion=2022-11-28

https://docs.github.com/en/rest/search?apiVersion=2022-11-28

Shunsuke SuzukiShunsuke Suzuki
  • 自分が作成した PR, issue, discussion
  • 自分が更新した PR, issue, discussion
  • 自分が作成してマージされた PR
  • 自分が管理するリポジトリに他人が作成し、マージされた PR
  • 自分が作成して更新された PR, issue, discussion
  • 自分が作成して close された PR, issue, discussion
  • 自分が管理するリポジトリに他人が作成した PR, issue, discussion
  • 自分が管理するリポジトリに他人が作成して、更新された PR, issue, discussion

  • author
  • created, updated
  • is:issue is:pr is:discussion
  • is:merged is:closed is:unmerged
  • user: org:

作成・更新・マージ・クローズした PR, Issue, Discussion の一覧
作成・更新・アーカイブしたリポジトリの一覧

Shunsuke SuzukiShunsuke Suzuki

Example: Activity Report 2023-10-07 ~ 10-09

New repositories

New Releases

Stared

aquaproj/aqua

Issues I created

Closed Issues

Pull Requests I created

Created Pull Requests

Merged Pull Requests

Closed Pull Requests

Shunsuke SuzukiShunsuke Suzuki

Releases を検索する API は多分存在しないので不便

Shunsuke SuzukiShunsuke Suzuki
query ($username: String!, $after: String) {
  user(login:$username) {
    login
    repositoriesContributedTo(first: 100, after:$after includeUserRepositories: true, contributionTypes: COMMIT, privacy: PUBLIC) {
      totalCount
      edges {
        node {
          nameWithOwner
          releases(first: 10, orderBy: {field: CREATED_AT, direction: DESC}) {
            nodes {
              tagName
            }
          }
        }
      }
    }
  }
}