正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab DuoとSDLCの傾向データを取得する

  • プラン: Premium、Ultimate
  • アドオン: GitLab Duo Pro、GitLab Duo Enterprise
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GraphQL APIを使用して、GitLab Duoデータを取得およびエクスポートします。

AIの使用状況データを取得する

  • アドオン: GitLab Duo Enterprise
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

AiUsageDataエンドポイントはrawイベントデータを取得します。これは、codeSuggestionEventsを介してコード提案固有のイベントと、allを介してすべてのrawイベントデータを公開します:

このエンドポイントを使用すると、イベントをBIツールにインポートしたり、すべてのDuoイベントのデータ、承認率、ユーザーごとのメトリクスを集計するスクリプトを作成したりできます。

ClickHouseがインストールされていないお客様の場合、データは3か月間保持されます。ClickHouseが構成されているお客様の場合、現在データ保持ポリシーはありません。

たとえば、gitlab-orgグループのすべてのコード提案イベントの使用状況データを取得するには、次のようにします:

query {
  group(fullPath: "gitlab-org") {
    aiUsageData {
      codeSuggestionEvents(startDate: "2025-09-26") {
        nodes {
          event
          timestamp
          language
          suggestionSize
          user {
            username
          }
        }
      }
    }
  }
}

このクエリは、次の出力を返します:

{
  "data": {
    "group": {
      "aiUsageData": {
        "codeSuggestionEvents": {
          "nodes": [
            {
              "event": "CODE_SUGGESTION_SHOWN_IN_IDE",
              "timestamp": "2025-09-26T18:17:25Z",
              "language": "python",
              "suggestionSize": 2,
              "user": {
                "username": "jasbourne"
              }
            },
            {
              "event": "CODE_SUGGESTION_REJECTED_IN_IDE",
              "timestamp": "2025-09-26T18:13:45Z",
              "language": "python",
              "suggestionSize": 2,
              "user": {
                "username": "jasbourne"
              }
            },
            {
              "event": "CODE_SUGGESTION_ACCEPTED_IN_IDE",
              "timestamp": "2025-09-26T18:13:44Z",
              "language": "python",
              "suggestionSize": 2,
              "user": {
                "username": "jasbourne"
              }
            }
          ]
        }
      }
    }
  }
}

または、gitlab-orgグループのすべてのDuoイベントの使用状況データを取得するには、次のようにします:

query {
  group(fullPath: "gitlab-org") {
    aiUsageData {
      all(startDate: "2025-09-26") {
        nodes {
          event
          timestamp
          user {
            username
          }
        }
      }
    }
  }
}

このクエリは、次の出力を返します:

{
  "data": {
    "group": {
      "aiUsageData": {
        "all": {
          "nodes": [
            {
              "event": "FIND_NO_ISSUES_DUO_CODE_REVIEW_AFTER_REVIEW",
              "timestamp": "2025-09-26T18:17:25Z",
              "user": {
                "username": "jasbourne"
              }
            },
            {
              "event": "REQUEST_REVIEW_DUO_CODE_REVIEW_ON_MR_BY_AUTHOR",
              "timestamp": "2025-09-26T18:13:45Z",
              "user": {
                "username": "jasbourne"
              }
            },
            {
              "event": "AGENT_PLATFORM_SESSION_STARTED",
              "timestamp": "2025-09-26T18:13:44Z",
              "user": {
                "username": "jasbourne"
              }
            }
          ]
        }
      }
    }
  }
}

all属性は、startDateendDateeventsuserIds、および標準のページネーション値でフィルター可能です。

どのイベントが追跡されているかを確認するには、ai_tracking.rbファイルで宣言されているイベントを調べます。

AIユーザーのメトリクスを取得する

  • アドオン: GitLab Duo Enterprise
  • 提供形態: GitLab.com、GitLab Dedicated

AiUserMetricsエンドポイントは、コード提案とGitLab Duoチャットのために、事前集計されたユーザーごとのメトリクスを提供します。

このエンドポイントを使用すると、すべてのDuoユーザーと、コード提案およびDuoチャットの使用頻度を一覧表示できます。

前提要件:

  • ClickHouseが構成されている必要があります。

たとえば、gitlab-orgグループ内のすべてのユーザーについて、承認されたコード提案の数とDuoチャットとのインタラクションを取得するには、次のようにします:

query {
  group(fullPath:"gitlab-org") {
    aiUserMetrics {
      nodes {
        codeSuggestionsAcceptedCount
        duoChatInteractionsCount
        user {
          username
        }
      }
    }
  }
}

このクエリは、次の出力を返します:

{
  "data": {
    "group": {
      "aiUserMetrics": {
        "nodes": [
          {
            "codeSuggestionsAcceptedCount": 10,
            "duoChatInteractionsCount": 22,
            "user": {
              "username": "USER_1"
            }
          },
          {
            "codeSuggestionsAcceptedCount": 12,
            "duoChatInteractionsCount": 30,
            "user": {
              "username": "USER_2"
            }
          }
        ]
      }
    }
  }
}

GitLab DuoとSDLCの傾向メトリクスを取得する

  • アドオン: GitLab Duo Pro、GitLab Duo Enterprise
  • 提供形態: GitLab.com、GitLab Dedicated

AiMetricsエンドポイントは、GitLab DuoおよびSDLCトレンドダッシュボードを強化し、コード提案およびDuoチャットについて、事前集計された次のメトリクスを提供します:

  • codeSuggestionsShown
  • codeSuggestionsAccepted
  • codeSuggestionAcceptanceRate
  • codeSuggestionUsers
  • duoChatUsers

前提要件:

  • ClickHouseが構成されている必要があります。

たとえば、gitlab-orgグループの指定された期間のコード提案とDuoチャットの使用状況データを取得するには、次のようにします:

query {
  group(fullPath: "gitlab-org") {
    aiMetrics(startDate: "2024-12-01", endDate: "2024-12-31") {
      codeSuggestions{
        shownCount
        acceptedCount
        acceptedLinesOfCode
        shownLinesOfCode
      }
      codeContributorsCount
      duoChatContributorsCount
      duoAssignedUsersCount
      duoUsedCount
    }
  }
}

このクエリは、次の出力を返します:

{
  "data": {
    "group": {
      "aiMetrics": {
        "codeSuggestions": {
          "shownCount": 88728,
          "acceptedCount": 7016,
          "acceptedLinesOfCode": 9334,
          "shownLinesOfCode": 124118
        },
        "codeContributorsCount": 719,
        "duoChatContributorsCount": 681,
        "duoAssignedUsersCount": 1910,
        "duoUsedCount": 714
      }
    }
  },
}

AIメトリクスデータをCSVにエクスポートする

GitLab AIメトリクスexporterツールを使用して、AIメトリクスデータをCSVファイルにエクスポートできます。