このAPIは最初のリリースだよ。フィードバックに基づいて機能を拡張中—必要なエンドポイントを教えてね!
- 提供状況: エンタープライズチーム限定
- ステータス: Alpha(レスポンスの形やフィールドは変更される可能性がある)
認証
ベースURL
レート制限
- チームごと、エンドポイントごとに、1分あたり5リクエスト
クエリパラメータ
Parameter | Type | Required | Description | |
---|---|---|---|---|
startDate | string | date | No | ISO 日付文字列、リテラルの “now”、または “7d”(now から 7 日前)のような相対指定。デフォルト: now - 7 days |
endDate | string | date | No | ISO 日付文字列、リテラルの “now”、または “0d” のような相対指定。デフォルト: now |
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。リポジトリ情報が取得できない場合は未定義のことがある
エンドポイント
AI Commit Metrics の取得(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 フィールド
Field | Type | Description | |
---|---|---|---|
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 Code Change のメトリクスをダウンロード(CSV・ストリーミング)
レスポンス
- Content-Type: text/csv; charset=utf-8
CSV の列
Column | Type | Description |
---|---|---|
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 エンドポイントがおすすめ—サーバー側で1万件単位のページとしてストリーミングされる
- クライアントがデフォルトブランチを解決できない場合、
isPrimaryBranch
は未定義になることがある commitTs
はコミットのタイムスタンプ、createdAt
はサーバー側での取り込み時刻- クライアントでプライバシーモードが有効だと、一部のフィールドが存在しない場合がある
変更履歴
- アルファ版リリース: コミットと変更の初期エンドポイントを公開。フィードバックに応じてレスポンス形式は今後変わる可能性がある