GitHubでプライベートな組織の登録メンバリストを取得するには


前回記事も一年前になりましたが、今年もGitHubを使った演習を続けています。前年度も何か色々書くこともあった気がするんですが、忙しくてすっかり忘れてしまったので略。

来年度もおそらく続くと思われるので、いくつか後で見返すためのメモをこの辺に書いておきます。

課題:未登録者をチェックしたいので、現時点での組織の登録メンバ一覧が欲しい

解決策:GitHub APIで取得できるらしい。

実行結果:

$ curl   -H "Accept: application/vnd.github.v3+json"   https://api.github.com/orgs/$ORG/members
[

]

…中身がないな?
組織がプライベートなのでおそらくアクセスが出来てない模様。

サブ課題:プライベートな組織にアクセスするには

解決策:個人アクセストークンを発行してそれを使えば行けるらしい

実行:

$ curl   -H "Accept: application/vnd.github.v3+json"   https://$TOKEN@api.github.com/orgs/$ORG/members

無事に出たぽい。後はこれをJSONから適当な形式に変換するだけですね。
とりあえずメモ終わり。

追記メモ:JSONをCSVファイルへ変換する方法
この辺を参考に変換を試みた。

 cat members.json | jq -r '["login"], (.[] | [.login]) | @csv' > members.csv

一列しかないのでtxtでも良いかも。ともあれ、できました。

追記メモ:複数ページへ渡る場合はURLに?page=でページ指定が必要