Article

GitHub Code QualityのCSVでライセンス数を照合する

GitHub Code Qualityのライセンス利用状況をCSVで取得できるようになりました。利用者とリポジトリの対応を読み解き、重複集計を避けながら翌請求期間の利用範囲を見直せます。

Share

こはるの読みどころ

CSVの行数とライセンス数は同じとは限らないよ。誰がどのリポジトリで数えられているかを追うと、見直せる範囲が分かるね。

こはるの読みどころ

GitHub Code Qualityのライセンス数を社内の台帳と照合するとき、合計人数だけでは差分の理由まで追えません。必要なのは、「誰が、どのリポジトリへの貢献によって数えられているか」という対応関係です。

2026年10月15日に追加されたライセンス利用状況のCSVダウンロードで、その内訳を手元で扱えるようになりました。ただし、CSVの行数を数えれば請求と一致する、という仕組みではありません。

集計の単位と対象期間を押さえると、このCSVを現在の利用状況の照合と、翌請求期間に向けた見直しに使い分けられます。

ライセンスはリポジトリ数ではなく利用者単位で数える

Code Qualityは独立したライセンスを持つ製品です。Code Qualityを有効にしたリポジトリのアクティブなコミッターが対象となり、同じ人が複数のリポジトリや組織に貢献していても、組織またはEnterprise全体の集計では1ライセンスとして扱います。公式の課金仕様で、この重複排除の単位が定義されています。

アクティブかどうかは、その人のコミットが過去90日以内にリポジトリへプッシュされたかで判定します。コミット自体をいつ作成したかとは別です。社内台帳を「今月作業した人」だけで作ると、比較している期間がそろわないわけですね。

一方、CSVでは同じ人が複数行に現れます。リポジトリとの対応を残すためです。CSVのリファレンスにも、行数をライセンス数として使わないことが明記されています。

さらに、このCSVが示すのは現在のアクティブなコミッターです。請求期間中に課金されたすべてのライセンスの履歴ではないため、現在の人数と期間全体の請求をそのまま突き合わせても、必ず一致するとは限りません。

CSVを取得し、ユーザーとリポジトリを対応付ける

CSVダウンロードはGitHub TeamとGitHub Enterprise Cloudで利用できます。取得は組織またはEnterpriseの「Billing and licensing」から「Licensing」を開き、Code Qualityのカードで行います。

操作できるのは、Enterpriseオーナー、組織オーナー、課金マネージャーです。Code Qualityのレポートはブラウザーへ直接ダウンロードされます。公式のダウンロード手順で権限と受け取り方法を確認できます。

Code QualityのCSV列定義は次のとおりです。

項目 読み取れる情報
User login GitHubのユーザー名
Organization / repository ライセンス利用に関係するリポジトリの所有者と名前
Last pushed date 利用状況に記録されたプッシュ日。形式はYYYY-MM-DD、不明な場合は-
Last pushed email ユーザーのGit authorメールアドレス

社内台帳との照合では、まず同じ組織またはEnterpriseの範囲にそろえ、User loginの重複を除いた人数を見ます。そのうえで、差分のあるユーザーについてリポジトリと日付をたどると、合計値だけでは分からなかった理由を調べられます。

日付が-の行は「活動がなかった」とは読めません。日付不明という仕様に合わせ、照合時も空白の意味を区別して扱いたいところです。

無効化で空くライセンスは、その場所だけに貢献する人から考える

次に知りたいのは、どのリポジトリでCode Qualityを無効にするとライセンスを解放できるかです。ここで使うのが、特定のリポジトリまたは組織だけに貢献する「unique committer」という見方です。

例えば、同じ組織の有効なリポジトリがAとBだけで、過去90日以内に利用者XのコミットがAとB、利用者YのコミットがAだけにプッシュされたと仮定します。これは仕組みを説明するための例で、実際の利用データではありません。CSV上の対応はX–A、X–B、Y–Aの3行になりますが、ライセンスを消費する人は2人です。

Aを無効にしても、XはBで引き続き対象になります。ほかの活動や設定に変化がなければ、翌請求期間に解放できる候補はAだけに貢献するYの1ライセンスです。リポジトリごとの人数をそのまま削減数にできない理由が分かります。

ただし、無効化しても現在の請求期間のライセンス料金は減りません。課金仕様のunique committerの説明は、解放の効果を翌請求期間としています。停止候補を選ぶときは、そのリポジトリで品質チェックを続ける価値と、ほかの有効なリポジトリに残る利用者を合わせて判断するのがよさそうです。

費用全体の見直しにはActionsとAIの利用量も合わせる

ライセンスの対応関係が分かっても、それだけでCode Qualityの総費用は説明できません。費用にはライセンスに加えてGitHub Actionsの実行時間とGitHub AI Creditsがあり、AI CreditsはほかのAI製品と共有するプールから消費されます。費用管理ガイドが、それぞれの確認先を整理しています。

リポジトリや組織に費用を対応付けたいときは課金の利用状況レポート、AI CreditsのCode Quality分を見たいときはAI利用状況ページで製品別に集計します。今回のライセンスCSVは、そのうち「誰がライセンスを使っているか」を調べるための入口です。

また、Code Qualityを無効にすると、そのリポジトリのスキャンとAI利用は即座に停止します。これと、現在の期間のライセンス料金が変わらないことは両立します。費用の種類によって、設定変更の効き方が違うためです。

社内台帳との照合でまずそろえたいのは、人数の定義、集計範囲、取得時点です。その土台ができれば、CSVから翌期間に見直せるライセンスを探し、別の利用状況レポートで実行時間やAIの費用も追えます。合計金額の差分を眺める作業から、変更できる対象と反映時期を判断する作業へ進めます。

出典

Share

Related Articles

カテゴリやタグが近い記事を続けて読めるように並べています。