dehio3’s diary

仕事、生活、趣味のメモ

Github Enterpriseでユーザー一覧をAPIで取得する

はじめに

  • オンプレにてGitHubでアカウントの一覧を取得する方法
  • APIあるけど一回のリクエストで取得できる件数の上限が100なので面倒だった。。

developer.github.com

  • per_pageで1ページの表示数を100に設定する
  • pageでページ数増やしてもユーザー情報は次のIDにいってくれないので注意

developer.github.com

対応

# 自分のユーザー名とパスワードをセット
export user_name=<username>
export password=<password>

# sinceの値を100ずつ増やして3000まで表示する
# idとldapのユーザー情報を表示する
# 出力結果
# 2715,"uid=test,ou=ND,dc=test,dc=co,dc=jp"
for i in `seq 1 100 3000`
do
    echo $i
    curl -u $user_name:$password "https://<github_url>/api/v3/users?since=$i&per_page=100" | jq -r '.[] | [.id, .ldap_dn] | @csv' >> github.user.list.csv
done