このAPIは初回リリース。フィードバックに基づき機能を拡張中—必要なエンドポイントを教えて!
- 提供状況: エンタープライズチーム限定
- ステータス: Alpha(レスポンスの形やフィールドは変更される可能性あり)
認証
ベース URL
レート制限
- エンドポイントごと・チームごとに、1分あたり5リクエスト
クエリパラメータ
Parameter | Type | Required | Description | |
---|---|---|---|---|
startDate | string | date | No | ISO日付文字列、リテラルの “now”、または “7d” のような相対日数(「現在 - 7日」の意味)。デフォルト: 現在 - 7日 |
endDate | string | date | No | ISO日付文字列、リテラルの “now”、または “0d” のような相対日数。デフォルト: 現在 |
page | number | No | ページ番号(1始まり)。デフォルト: 1 | |
pageSize | number | No | 1ページあたりの件数。デフォルト: 100、最大: 1000 | |
user | string | No | 単一ユーザーによる任意のフィルタ。メール(例: developer@company.com)、エンコード済みID(例: user_abc123…)、または数値ID(例: 42)を受け付ける |
レスポンスでは、接頭辞 user_ が付いたエンコード済み外部IDとして userId を返す。これは API 連携で安定して利用できる。
セマンティクスとメトリクスの算出方法
- Sources: “TAB” は受け入れられたインライン補完、“COMPOSER” は Composer で受け入れられた差分を表す
- Lines metrics: tabLinesAdded/Deleted と composerLinesAdded/Deleted は個別にカウントされる。nonAiLinesAdded/Deleted は max(0, totalLines - AI lines) で算出される
- Privacy mode: クライアントで有効な場合、fileName など一部のメタデータは省略されることがある
- Branch info: 現在のブランチがリポジトリのデフォルトブランチと一致する場合、isPrimaryBranch は true。リポジトリ情報が利用できない場合は undefined になることがある
エンドポイント
AI コミットメトリクスの取得(JSON、ページネーション対応)
応答
AiCommitMetric フィールド
フィールド | 型 | 説明 | |
---|---|---|---|
commitHash | string | Git のコミットハッシュ | |
userId | string | エンコード済みのユーザー ID(例: user_abc123) | |
userEmail | string | ユーザーのメールアドレス | |
repoName | string | null | リポジトリ名 |
branchName | string | null | ブランチ名 |
isPrimaryBranch | boolean | null | プライマリブランチかどうか |
totalLinesAdded | number | コミットで追加された行の合計 | |
totalLinesDeleted | number | コミットで削除された行の合計 | |
tabLinesAdded | number | TAB 補完で追加された行数 | |
tabLinesDeleted | number | TAB 補完で削除された行数 | |
composerLinesAdded | number | Composer で追加された行数 | |
composerLinesDeleted | number | Composer で削除された行数 | |
nonAiLinesAdded | number | null | 非 AI による追加行数 |
nonAiLinesDeleted | number | null | 非 AI による削除行数 |
message | string | null | コミットメッセージ |
commitTs | string | null | コミットのタイムスタンプ(ISO 形式) |
createdAt | string | 取り込みタイムスタンプ(ISO 形式) |
レスポンス例
リクエスト例
AI Commit Metrics のダウンロード(CSV・ストリーミング)
レスポンス
- Content-Type: text/csv; charset=utf-8
CSV カラム
Column | Type | Description |
---|---|---|
commit_hash | string | Git のコミットハッシュ |
user_id | string | エンコード済みユーザー ID |
user_email | string | ユーザーのメールアドレス |
repo_name | string | リポジトリ名 |
branch_name | string | ブランチ名 |
is_primary_branch | boolean | プライマリブランチかどうか |
total_lines_added | number | コミットで追加された行数(合計) |
total_lines_deleted | number | コミットで削除された行数(合計) |
tab_lines_added | number | TAB 補完で追加された行数 |
tab_lines_deleted | number | TAB 補完で削除された行数 |
composer_lines_added | number | Composer で追加された行数 |
composer_lines_deleted | number | Composer で削除された行数 |
non_ai_lines_added | number | 非 AI の追加行数 |
non_ai_lines_deleted | number | 非 AI の削除行数 |
message | string | コミットメッセージ |
commit_ts | string | コミットのタイムスタンプ(ISO 形式) |
created_at | string | 取り込みタイムスタンプ(ISO 形式) |
サンプル CSV 出力
リクエストの例
AIコード変更メトリクスを取得(JSON、ページネーション対応)
応答
AiCodeChangeMetric のフィールド
フィールド | 型 | 説明 | |
---|---|---|---|
changeId | string | 変更の決定的ID | |
userId | string | エンコード済みユーザーID(例: user_abc123) | |
userEmail | string | ユーザーのメールアドレス | |
source | ”TAB” または “COMPOSER” | AI変更の発生元 | |
model | string | null | 使用したAIモデル |
totalLinesAdded | number | 追加行数の合計 | |
totalLinesDeleted | number | 削除行数の合計 | |
createdAt | string | 取り込みタイムスタンプ(ISO形式) | |
metadata | Array | ファイルのメタデータ(プライバシーモードでは fileName が省略される場合あり) |
レスポンス例
リクエスト例
AIコード変更メトリクスをダウンロード(CSV・ストリーミング)
レスポンス
- Content-Type: text/csv; charset=utf-8
CSV カラム
列 | 型 | 説明 |
---|---|---|
change_id | string | 変更を一意に識別する決定的 ID |
user_id | string | エンコードされたユーザー ID |
user_email | string | ユーザーのメールアドレス |
source | string | AI 変更の発生元(TAB または COMPOSER) |
model | string | 使用した AI モデル |
total_lines_added | number | 追加行数の合計 |
total_lines_deleted | number | 削除行数の合計 |
created_at | string | 取り込みタイムスタンプ(ISO 形式) |
metadata_json | string | メタデータエントリ配列の JSON 文字列 |
注意事項
- metadata_json はメタデータエントリ配列の JSON 文字列(プライバシーモードでは fileName を省略する場合がある)
- CSV を読み込む場合は、必ず引用符付きフィールドをパースすること
サンプル CSV 出力
リクエストの例
ヒント
- すべてのエンドポイントで特定のユーザーだけを素早く絞り込むには、
user
パラメータを使う - 大規模なデータ抽出には CSV エンドポイントを推奨—サーバー側で 10,000 件ごとのページとしてストリーミングされる
- デフォルトブランチをクライアント側で解決できない場合、
isPrimaryBranch
は undefined になることがある commitTs
はコミットのタイムスタンプ、createdAt
はサーバーでの取り込み時刻- クライアントでプライバシーモードが有効な場合、一部のフィールドが欠落することがある
変更履歴
- アルファ版リリース: commits と changes 用の初期エンドポイントを追加。フィードバックに応じてレスポンス形式は変更される可能性があります