---
title: "Get the common attributes of a build."
method: GET
path: "/api/builds/{id}"
tags: ["Builds", "GradleEnterprise", "Develocity"]
---

# Get the common attributes of a build.

`GET /api/builds/{id}`

## Request

- Base URL: `https://develocity.example.com`
- URL: `https://develocity.example.com/api/builds/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/develocity/apis/develocity-api/docs/api/builds/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

The contained attributes are build tool agnostic.

## Response `200`

The common attributes of a build.

- Build: A build with common attributes.
  - `id` string, required: The Build Scan ID.
  - `availableAt` integer, required: A unix-epoch-time in milliseconds referring to the instant that Develocity completed receiving and processing the build.
  - `buildToolType` string, required: The build tool type of the build.
  - `buildToolVersion` string, required: The build tool version used.
  - `buildAgentVersion` string, required: The build agent version used.
  - `models` BuildModels: Optional requested models associated with the build.
    - `gradleAttributes` object: The attributes of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleAttributes: The attributes of a Gradle build.
        - `id` string, required: The Build Scan ID.
        - `buildStartTime` integer, required: The time when the build starts, as milliseconds since Epoch.
        - `buildDuration` integer, required: The duration of the build, as milliseconds.
        - `gradleVersion` string, required: The Gradle version used.
        - `pluginVersion` string, required: The Develocity Gradle plugin version used.
        - `rootProjectName` string, nullable: The root project name. `null` in case of very early build failure.
        - `requestedTasks` string[], required: The list of requested tasks.
        - `hasFailed` boolean, required: True when the build fails, false otherwise.
        - `hasVerificationFailure` boolean: Set only if the build fails: true when the build has at least one failure classified as "Verification", false otherwise. The Verification classification is meant for failures that are expected within a standard application development lifecycle. They typically represent a problem with the developer’s inputs to the build such as the source code.
        - `hasNonVerificationFailure` boolean: Set only if the build failed: true when the build has at least one failure classified as "Non-verification", false otherwise. The Non-verification classification is meant for failures that are typically not expected within a standard application development lifecycle, such as build configuration failures, dependency resolution failures, and infrastructure failures.
        - `tags` string[], required: The list of Build Scan tags.
        - `values` BuildAttributesValue[], required: The list of Build Scan values.
          - `name` string, required: The name of the Build Scan value.
          - `value` string: The value of the Build Scan value. `null` if the Build Scan value is not set.
        - `links` BuildAttributesLink[], required: The list of Build Scan links.
          - `label` string, required: The label of the Build Scan link.
          - `url` string, required: The url of the Build Scan link.
        - `develocitySettings` GradleDevelocitySettings, required: Settings for Develocity.
          - `backgroundPublicationEnabled` boolean, nullable: Indicates whether background Build Scan publication is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.4`. See https://gradle.com/help/gradle-plugin-configuring-background-uploading.
          - `buildOutputCapturingEnabled` boolean, nullable: Indicates whether build logging output capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.7`. See https://gradle.com/help/gradle-plugin-capturing-build-and-test-outputs.
          - `fileFingerprintCapturingEnabled` boolean, nullable: Indicates whether file fingerprint capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `2.1`. See https://gradle.com/help/gradle-plugin-capturing-task-input-files/.
          - `testOutputCapturingEnabled` boolean, nullable: Indicates whether test logging output capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.7`. See https://gradle.com/help/gradle-plugin-capturing-build-and-test-outputs.
          - `resourceUsageCapturingEnabled` boolean, nullable: Indicates whether resource usage capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.18`. See https://gradle.com/help/gradle-plugin-capturing-resource-usage.
          - `taskInputsFileCapturingEnabled` boolean, nullable: Indicates whether task input file snapshots capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `2.1`. See https://gradle.com/help/gradle-plugin-capturing-task-input-files. **This property is deprecated, use `fileFingerprintCapturingEnabled` instead.**
        - `buildOptions` GradleBuildOptions, required: Gradle build options for this build.
          - `buildCacheEnabled` boolean, nullable: Indicates whether the build cache is enabled for the build. `null` if Gradle version is < `3.1` or Develocity Gradle plugin version is < `1.3`. See https://docs.gradle.org/current/javadoc/org/gradle/StartParameter.html#isBuildCacheEnabled--.
          - `configurationCacheEnabled` boolean, nullable: Indicates whether the configuration cache is enabled for the build. `null` if Gradle version is < `6.6` or Develocity Gradle plugin version is < `3.4`. See https://docs.gradle.org/current/userguide/configuration_cache.html.
          - `configurationOnDemandEnabled` boolean, required: Indicates whether configuration on demand mode is enabled for the build. See https://docs.gradle.org/current/userguide/configuration_on_demand.html.
          - `continuousBuildEnabled` boolean, required: Indicates whether continuous build mode is running for the build. See https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continuous_build.
          - `continueOnFailureEnabled` boolean, required: Indicates whether continue on failure mode is set for the build. See https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continue_build_on_failure.
          - `daemonEnabled` boolean, required: Indicates whether the build is run with the Gradle Daemon. See https://docs.gradle.org/current/userguide/gradle_daemon.html.
          - `dryRunEnabled` boolean, required: Indicates whether the dry run flag is set for the build. See https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_execution_options.
          - `excludedTasks` string[], required: The list of excluded tasks. See https://docs.gradle.org/current/userguide/command_line_interface.html#sec:excluding_tasks_from_the_command_line.
          - `fileSystemWatchingEnabled` boolean, nullable: Indicates whether file system watching is enabled for the build. `null` if Gradle version is < `6.6` or Develocity Gradle plugin version is < `3.4`. See https://docs.gradle.org/current/userguide/file_system_watching.html.
          - `isolatedProjectsEnabled` boolean, nullable: Indicates whether the 'Isolated Projects' feature was enabled for the build. May be `null` if Gradle version is < `8.3` or Develocity Gradle plugin version is < `3.15`. See https://docs.gradle.org/current/userguide/isolated_projects.html.
          - `maxNumberOfGradleWorkers` integer, required: The maximum number of build workers used to run the build. See https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_performance.
          - `offlineModeEnabled` boolean, required: Indicates whether the offline mode is set for the build. See https://docs.gradle.org/current/userguide/dependency_caching.html#sec:controlling-dependency-caching-command-line.
          - `parallelProjectExecutionEnabled` boolean, required: Indicates whether parallel project execution is enabled for the build. See https://docs.gradle.org/current/userguide/configuration_on_demand.html#sec:parallel_execution.
          - `refreshDependenciesEnabled` boolean, required: Indicates whether the build is set to refresh all dependencies in the dependency cache. See https://docs.gradle.org/current/userguide/dependency_caching.html#sec:refreshing-dependencies.
          - `rerunTasksEnabled` boolean, required: Indicates whether the build is forced to run all the tasks, ignoring any up-to-date checks. https://docs.gradle.org/current/userguide/command_line_interface.html#sec:rerun_tasks.
        - `environment` BuildAttributesEnvironment, required: The environment where the build is executed.
          - `username` string, nullable: Operating system username of the build user. `null` if no username is captured.
          - `operatingSystem` string, required: Operating system of the build machine.
          - `numberOfCpuCores` integer, required: Number of cores available to the build JVM.
          - `jreVersion` string, required: Version of the Java runtime executing the build.
          - `jvmVersion` string, required: Version of the Java Virtual Machine executing the build.
          - `jvmMaxMemoryHeapSize` integer, required: Maximum heap memory available to the build JVM in bytes.
          - `jvmCharset` string, nullable: The default charset of the JVM executing the build. `null` if capturing is not possible.
          - `jvmLocale` string, required: The locale of the JVM executing the build.
          - `publicHostname` string, nullable: The hostname of the build machine, as seen on the network. `null` if capturing is not possible.
          - `localHostname` string, nullable: The hostname of the build machine, as specified by itself. `null` if capturing is not possible.
          - `localIpAddresses` string[], nullable: The local IP addresses of the build machine. `null` if capturing is not possible.
        - `gradleEnterpriseSettings` GradleGradleEnterpriseSettings, required: **This property is deprecated, use `develocitySettings` instead.** Settings for Develocity.
          - `backgroundPublicationEnabled` boolean, nullable: Indicates whether background Build Scan publication is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.4`. See https://gradle.com/help/gradle-plugin-configuring-background-uploading.
          - `buildOutputCapturingEnabled` boolean, nullable: Indicates whether build logging output capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.7`. See https://gradle.com/help/gradle-plugin-capturing-build-and-test-outputs.
          - `taskInputsFileCapturingEnabled` boolean, nullable: Indicates whether task input file snapshots capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `2.1`. See https://gradle.com/help/gradle-plugin-capturing-task-input-files.
          - `testOutputCapturingEnabled` boolean, nullable: Indicates whether test logging output capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.7`. See https://gradle.com/help/gradle-plugin-capturing-build-and-test-outputs.
          - `resourceUsageCapturingEnabled` boolean, nullable: Indicates whether resource usage capturing is enabled for the build. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `3.18`. See https://gradle.com/help/gradle-plugin-capturing-resource-usage.
    - `gradleTestPerformance` object: Test performance-related metrics of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleTestPerformance: Test performance metrics of a Gradle build.
        - `tests` BuildTestPerformanceTests, required: Test-related data of a build.
          - `testClassesCount` integer, required: Number of test classes of a build.
        - `serialTestTasksExecutionTime` integer, required: The sum of the serial execution times in millis of test tasks run in the build.
        - `testAcceleration` TestPerformanceBuildTestAcceleration, required: Test acceleration data of a build.
          - `predictiveTestSelection` TestPerformanceBuildPredictiveTestSelection, required: Predictive Test Selection related data of a build.
            - `usage` TestPerformanceBuildPredictiveTestSelectionUsage, required: Groups PTS usage data (build level).
              - …
            - `simulation` TestPerformanceBuildPredictiveTestSelectionSimulation: Groups data from the three PTS simulation profiles (build level).
              - …
          - `testDistribution` TestPerformanceBuildTestDistribution, required: Test Distribution related data of a build.
            - `usageStatus` 'unavailable' | 'disabled' | 'enabled', required: Develocity extension status of a build / work unit: * `unavailable` - Feature status is unknown (e.g. for older Gradle plugin / Maven extension versions) or feature could not be used due to an unexpected error * `disabled` - The extension was enabled on none of the tasks in the build / for the task in question * `enabled` - The extension was enabled on at least one of the tasks in the build / for the task in question**
            - `wallClockSavings` integer, nullable, required: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the Test Distribution request, than it would have taken to directly execute the tests.
          - `wallClockSavings` integer, nullable, required: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the test acceleration requests, than it would have taken to directly execute the tests.
        - `testTasks` TestPerformanceTask[], required
          - `taskPath` string, required: The path of the test task
          - `taskType` string, required: The fully qualified name of the task type
          - `wallClockExecutionTime` integer, required: The total execution time of the test task in millis. This is the time elapsed between the start and end of the entire test task.
          - `serialExecutionTime` integer, required: The serial execution time of the test task in millis. This is the sum of all serial test class durations and includes the setup and cleanup durations of the test task.
          - `tests` WorkUnitTestPerformanceTests, required: Test-related data of a task/goal.
            - `failedTestClassesCount` integer, required: Number of failed test classes of a task/goal.
            - `testClassesCount` integer, required: Number of test classes of a task/goal.
          - `testAcceleration` TestPerformanceWorkUnitTestAcceleration, required: Test acceleration data of a work unit.
            - `predictiveTestSelection` TestPerformanceWorkUnitPredictiveTestSelection, required: Predictive Test Selection related data of a work unit.
              - …
            - `testDistribution` TestPerformanceWorkUnitTestDistribution, required: Test Distribution related data of a work unit.
              - …
            - `wallClockSavings` integer, nullable, required: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the test acceleration requests, than it would have taken to directly execute the tests.
    - `gradleBuildCachePerformance` object: The build cache performance of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleBuildCachePerformance: The build cache performance of a Gradle build.
        - `id` string, required: The Build Scan ID.
        - `buildTime` integer, required: Wall clock duration of the build in milliseconds.
        - `effectiveTaskExecutionTime` integer, required: Wall clock time spent executing tasks in milliseconds. It is the time spent between the start of the first task in the execution phase and the end of the last task of the execution phase, removing any interval where no task is being executed.
        - `effectiveWorkUnitExecutionTime` integer, required: Wall clock time spent executing work units (tasks and artifact transforms) in milliseconds. It is the time spent between the start of the first work unit in the execution phase and the end of the last work unit of the execution phase, removing any interval where no work unit is being executed.
        - `serialTaskExecutionTime` integer, required: Wall clock time of all task executions in milliseconds. It is the sum of all individual task durations.
        - `serialWorkUnitExecutionTime` integer, required: Wall clock time of all work unit executions (tasks and artifact transforms) in milliseconds. It is the sum of all individual work unit durations.
        - `serializationFactor` number, double, required: The ratio of `serialWorkUnitExecutionTime` over the `effectiveWorkUnitExecutionTime`. Quantifies the effect of work unit parallelization. A value equal to `1` means that no parallelization occurred. A value greater than `1` means that work units are executed faster due to parallelization.
        - `taskExecution` GradleBuildCachePerformanceTaskExecutionEntry[], required: A list of executed tasks with performance related information.
          - `taskPath` string, required: The full task path.
          - `taskType` string, required: The fully qualified class name of the task.
          - `avoidanceOutcome` 'avoided_up_to_date' | 'avoided_from_local_cache' | 'avoided_from_remote_cache' | 'executed_cacheable' | 'executed_not_cacheable' | 'executed_unknown_cacheability' | 'avoided_unknown_reason' | 'lifecycle' | 'no-source' | 'skipped', required: The avoidance outcome of this task with respect to performance: * `avoided_up_to_date` - Task whose execution is avoided due to build incrementalism * `avoided_from_local_cache` - Task whose execution is avoided due to reusing a local build cache entry * `avoided_from_remote_cache` - Task whose execution is avoided due to reusing a remote build cache entry * `avoided_unknown_reason` - Task which was avoided for an unknown reason * `executed_cacheable` - Task which is executed but is cacheable * `executed_not_cacheable` - Task which is executed but is not cacheable * `executed_unknown_cacheability` - Task which is executed and whose cacheability can not be determined * `lifecycle` - Lifecycle task * `no-source` - No-source task * `skipped` - Skipped task
          - `duration` integer, required: The task duration in milliseconds.
          - `fingerprintingDuration` integer, nullable: The task fingerprinting duration in milliseconds. This duration is part of the complete task execution duration. `null` if the task is not fingerprinted, or the information is not available.
          - `avoidanceSavings` integer, nullable: The task avoidance savings in milliseconds, which can be negative. Negative values indicate that it takes more time to reuse outputs than it did to create them originally. `null` if the information is not available.
          - `nonCacheabilityCategory` 'build_cache_not_enabled' | 'cache-if_condition_not_matched' | 'disabled_to_ensure_correctness' | 'do-not-cache-if_condition_matched' | 'multiple_outputs_declared' | 'no_outputs_declared' | 'non_cacheable_inputs' | 'non_cacheable_task_action' | 'non_cacheable_task_implementation' | 'non_cacheable_tree_output' | 'overlapping_outputs' | 'task_has_no_actions' | 'task_output_caching_not_enabled' | 'unknown', nullable: The category of the non-cacheability reason: * `build_cache_not_enabled` - Caching is not enabled for the build * `cache-if_condition_not_matched` - Caching is disabled for the task via `org.gradle.api.tasks.TaskOutputs#cacheIf` * `disabled_to_ensure_correctness` - The task failed validation. Available since Gradle 7.0 * `do-not-cache-if_condition_matched` - Caching is disabled for the task via `org.gradle.api.tasks.TaskOutputs#doNotCacheIf` * `multiple_outputs_declared` - The task declares multiple outputs * `no_outputs_declared` - The task has no outputs declared * `non_cacheable_inputs` - One of the task inputs is not cacheable, either because some type used as an input to the task is loaded via a custom classloader, or a Java lambda is used as an input. Available since Gradle 5.0 and before Gradle 7.5 * `non_cacheable_task_action` - One of the task actions is not cacheable, either because it is loaded via a custom classloader, or a Java lambda is used to implement it. Available since Gradle 5.0 and before Gradle 7.5 * `non_cacheable_task_implementation` - The task implementation is not cacheable, either because it is loaded via a custom classloader, or a Java lambda is used to implement it. Available since Gradle 5.0 and before Gradle 7.5 * `non_cacheable_tree_output` - The task has a `org.gradle.api.file.FileTree` or a `org.gradle.api.internal.file.collections.DirectoryFileTree` as an output. Available since Gradle 5.0 * `overlapping_outputs` - The tasks outputs overlaps with another task. As Gradle cannot safely determine which task each output file belongs to, it disables caching * `task_has_no_actions` - The task does not declare any actions * `task_output_caching_not_enabled` - Caching is not enabled for the task * `unknown` - Reason for disabled caching is not known `null` when the task is cacheable or if the information is not available.
          - `nonCacheabilityReason` string, nullable: The human-readable reason for a non-cacheable task. `null` when the task is cacheable or if the information is not available.
          - `skipReasonMessage` string, nullable: The detailed reason why the task is skipped. `null` if the task is not skipped or Gradle versions <7.6 are used.
          - `cacheArtifactSize` integer, nullable: The number of bytes of the produced or consumed cache artifact. For a task execution where the outputs are successfully stored to a local or remote cache, this is the size of the stored cache artifact. For a task execution where the outputs are successfully loaded from a local or remote cache, this is the size of the loaded cache artifact. `null` if the task is not cacheable, or if the attempt to store or load the artifact from cache does not succeed.
          - `cacheArtifactRejectedReason` 'artifact_size_too_large', nullable: The reason why the cache artifact is rejected: * `artifact_size_too_large` - The size of the artifact is larger than the remote build cache can accept. The value is `null` if the task is not cacheable, or if the attempt to store the artifact does not succeed.
          - `cacheKey` string, nullable: The build cache key. `null` if no build cache key was computed (e.g. when the task is skipped).
          - `hasFailed` boolean, required: True when the task failed, false otherwise.
        - `taskFingerprintingSummary` GradleBuildCachePerformanceTaskFingerprintingSummary, nullable: A summary of task fingerprinting. Fingerprinted tasks are part of the `taskExecution.avoidedTasks` or `taskExecution.executedTasks`, or `taskExecution.noSourceTasks` buckets. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `2.1`.
          - `count` integer, required: Count of fingerprinted tasks.
          - `serialDuration` integer, required: Sum of all fingerprinting times of fingerprinted tasks in milliseconds.
        - `workUnitFingerprintingSummary` GradleBuildCachePerformanceWorkUnitFingerprintingSummary, nullable: A summary of task and artifact transform fingerprinting. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `2.1`.
          - `count` integer, required: Count of fingerprinted work units.
          - `serialDuration` integer, required: Sum of all fingerprinting times of fingerprinted work units in milliseconds.
        - `avoidanceSavingsSummary` GradleBuildCachePerformanceAvoidanceSavingsSummary, required: **This is deprecated, use `taskAvoidanceSavingsSummary` instead.** A breakdown of avoidance savings.
          - `total` integer, required: The estimated reduction in serial execution time of the tasks due to their outputs being reused in milliseconds.
          - `ratio` number, double, required: The ratio of the total avoidance savings against the potential serial execution time (which is the actual serial execution time plus the total avoidance savings). Quantifies the effect of avoidance savings in this build. The bigger the ratio is, the more time is saved when running the build.
          - `upToDate` integer, required: The estimated reduction in serial execution time of the tasks due to build incrementalism in milliseconds.
          - `localBuildCache` integer, required: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the local build cache in milliseconds.
          - `remoteBuildCache` integer, required: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the remote build cache in milliseconds.
        - `taskAvoidanceSavingsSummary` GradleBuildCachePerformanceTaskAvoidanceSavingsSummary, required: A breakdown of avoidance savings for tasks.
          - `total` integer, required: The estimated reduction in serial execution time of the tasks due to their outputs being reused in milliseconds.
          - `ratio` number, double, required: The ratio of the total avoidance savings against the potential serial execution time (which is the actual serial execution time plus the total avoidance savings). Quantifies the effect of avoidance savings in this build. The bigger the ratio is, the more time is saved when running the build.
          - `upToDate` integer, required: The estimated reduction in serial execution time of the tasks due to build incrementalism in milliseconds.
          - `localBuildCache` integer, required: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the local build cache in milliseconds.
          - `remoteBuildCache` integer, required: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the remote build cache in milliseconds.
        - `workUnitAvoidanceSavingsSummary` GradleBuildCachePerformanceWorkUnitAvoidanceSavingsSummary, required: A breakdown of avoidance savings for tasks and artifact transforms.
          - `total` integer, required: The estimated reduction in serial execution time of the work units due to their outputs being reused in milliseconds.
          - `ratio` number, double, required: The ratio of the total avoidance savings against the potential serial execution time (which is the actual serial execution time plus the total avoidance savings). Quantifies the effect of avoidance savings in this build. The bigger the ratio is, the more time is saved when running the build.
          - `upToDate` integer, required: The estimated reduction in serial execution time of the work units due to build incrementalism in milliseconds.
          - `localBuildCache` integer, required: The estimated reduction in serial execution time of the work units due to their outputs being reused from the local build cache in milliseconds.
          - `remoteBuildCache` integer, required: The estimated reduction in serial execution time of the work units due to their outputs being reused from the remote build cache in milliseconds.
        - `buildCaches` GradleBuildCachePerformanceBuildCaches, nullable: Information about the local and remote build caches used in the build. `null` if the build cache is globally disabled.
          - `local` GradleBuildCachePerformanceBuildCacheLocalInfo, required: Information about the local build cache used in the build.
            - `isEnabled` boolean, required: Indicates whether the local build cache is enabled.
            - `isPushEnabled` boolean, nullable: Indicates whether pushing to the local build cache is enabled. `null` if the local build cache is disabled.
            - `isDisabledDueToError` boolean: Indicates whether the local cache is disabled due to an error occurring in loading or storing local build cache entries. `null` if the local build cache is disabled.
            - `directory` string, nullable: Location of the local build cache. Can be relative or absolute depending on its value. `null` if the local build cache is disabled.
          - `remote` GradleBuildCachePerformanceBuildCacheRemoteInfo, required: Information about the remote build cache used in the build.
            - `type` string, nullable: The type of the connector used to communicate with the remote build cache. `null` if the remote build cache is disabled.
            - `className` string, nullable: The class name of the connector. `null` if the remote build cache is disabled.
            - `isEnabled` boolean, required: Indicates whether the remote build cache is enabled.
            - `isPushEnabled` boolean, nullable: Indicates whether pushing to the remote build cache is enabled. `null` if the remote build cache is disabled.
            - `isDisabledDueToError` boolean: Indicates whether the remote build cache is disabled during the build due to an error occurring in loading or storing remote build cache entries. `null` if the remote build cache is disabled.
            - `url` string, nullable: URL of the remote build cache. `null` if the remote build cache is disabled or if the given type is not supported or it doesn't have the concept of a URL.
          - `overhead` GradleBuildCachePerformanceBuildCacheOverhead, required: Information about the build cache overhead in this build.
            - `uploading` integer, required: Overhead of upload operations in milliseconds.
            - `downloading` integer, required: Overhead of download operations in milliseconds.
            - `packing` integer, required: Overhead of pack operations in milliseconds.
            - `unpacking` integer, required: Overhead of unpack operations in milliseconds.
    - `gradleProjects` object: List of Gradle projects, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleProject[]: List of Gradle projects including structural relationships.
        - `name` string, required: The name of the project.
        - `path` string, required: The path of the project.
        - `parent` integer, nullable: The index of the parent of this Gradle project in the GradleProjects array. `null` if this project has no parent (i.e. root project of a build).
    - `gradleNetworkActivity` object: Information about the network activity of the build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleNetworkActivity: Information about the network activity of the build. It includes network activity during dependency resolution, java toolchain downloads, etc. For a comprehensive list see the Build Scan.
        - `networkRequestCount` integer, required: This represents the total count of network requests.
        - `serialNetworkRequestTime` integer, required: The duration in milliseconds representing the sum of times for potentially parallel network requests. It does not reflect wall clock time but offers a rough estimation of network activity.
        - `wallClockNetworkRequestTime` integer: The estimate in milliseconds representing the wall clock time spent on network requests during the current build. It is calculated by comparing the critical path within non-execution and execution phases with and without network requests, converted to wall clock time. This is null when Gradle version is lower than 6.2 or the Develocity plugin version is lower than 3.12.
        - `fileDownloadSize` integer, required: The total number of bytes downloaded for dependencies. It accounts only for the bytes of the files (e.g. POMs, JARs) downloaded and not the total network transfer.
        - `fileDownloadCount` integer, required: The total number of successfully downloaded files.
        - `methods` object: A breakdown of the network activity by HTTP method, when available.
        - `repositories` object: A breakdown of the network activity by repository URL, when available. This is empty when Gradle version is lower than 4.10, Develocity plugin version is lower than 1.16, or no repositories were captured.
        - `repositoryMethods` object: A breakdown of the network activity by HTTP method and repository, when available.
    - `gradleArtifactTransformExecutions` object: The artifact transform execution list of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleArtifactTransformExecutions
        - `artifactTransformExecutions` GradleArtifactTransformExecutionEntry[], nullable: A list of executed artifact transforms with performance related information. `null` if artifact transform execution capturing is not supported.
          - `artifactTransformExecutionName` string, required: Artifact transform execution name.
          - `transformActionType` string, required: The fully qualified class name of the artifact transform action.
          - `inputArtifactName` string, required: The name of the input artifact transformed by this transform.
          - `changedAttributes` GradleArtifactTransformAttribute[], required: The list of changed attributes merged from all transform execution requests.
            - `name` string, required: The name of the attribute.
            - `from` string, required: The input attribute value.
            - `to` string, required: The requested attributed value.
          - `outcome` 'failed' | 'success' | 'from_cache' | 'up_to_date' | 'unknown' | 'skipped', required: The outcome of this artifact transform execution: * `failed` - Artifact transform execution which failed * `success` - Artifact transform execution which was successfully executed * `from_cache` - Artifact transform execution which was taken from cache * `up_to_date` - Artifact transform execution which was up-to-date * `unknown` - Artifact transform execution whose outcome is unknown * `skipped` - Artifact transform execution which was skipped. **This is not emitted anymore, replaced by `up_to_date`.**
          - `avoidanceOutcome` 'avoided_up_to_date' | 'avoided_from_local_cache' | 'avoided_from_remote_cache' | 'executed_cacheable' | 'executed_not_cacheable' | 'executed_unknown_cacheability' | 'avoided_unknown_cachebility' | 'avoided_unknown_reason' | 'skipped', required: The avoidance outcome of this artifact transform execution with respect to performance: * `avoided_up_to_date` - Artifact transform execution whose execution is avoided due to build incrementalism * `avoided_from_local_cache` - Artifact transform execution whose execution is avoided due to reusing a local build cache entry * `avoided_from_remote_cache` - Artifact transform execution whose execution is avoided due to reusing a remote build cache entry * `avoided_unknown_reason` - Artifact transform execution which was avoided for an unknown reason * `executed_cacheable` - Artifact transform execution which is executed but is cacheable * `executed_not_cacheable` - Artifact transform execution which is executed but is not cacheable * `executed_unknown_cacheability` - Artifact transform execution which is executed and whose cacheability can not be determined * `skipped` - Skipped artifact transform execution. **This is not emitted anymore, replaced by `up_to_date`.**
          - `duration` integer, required: The artifact transform execution duration in milliseconds.
          - `fingerprintingDuration` integer: The artifact transform execution fingerprinting duration in milliseconds. This duration is part of the complete artifact transform execution duration. `null` if the artifact transform is not fingerprinted.
          - `avoidanceSavings` integer: The artifact transform execution avoidance savings in milliseconds, which can be negative. Negative values indicate that it takes more time to reuse outputs than it did to create them originally. `null` if the information is not available.
          - `nonCacheabilityCategory` 'build_cache_not_enabled' | 'disabled_to_ensure_correctness' | 'not_cacheable' | 'unknown', nullable: The category of the non-cacheability reason: * `build_cache_not_enabled` - Caching is not enabled for the build * `disabled_to_ensure_correctness` - The artifact transform failed validation * `not_cacheable` - Caching is not enabled for this artifact transform * `unknown` - Reason for disabled caching is not known `null` when the artifact transform execution is cacheable
          - `nonCacheabilityReason` string, nullable: The human-readable reason for a non-cacheable artifact transform execution. `null` when the artifact transform execution is cacheable.
          - `cacheArtifactSize` integer, nullable: The number of bytes of the produced or consumed cache artifact. For an artifact transform execution where the outputs are successfully stored to a local or remote cache, this is the size of the stored cache artifact. For an artifact transform execution execution where the outputs are successfully loaded from a local or remote cache, this is the size of the loaded cache artifact. `null` if the an artifact transform execution is not cacheable, or if the attempt to store or load the artifact from cache does not succeed.
          - `cacheArtifactRejectedReason` 'artifact_size_too_large', nullable: The reason why the cache artifact is rejected: * `artifact_size_too_large` - The size of the artifact is larger than the remote build cache can accept. The value is `null` if the transform execution is not cacheable, or if the attempt to store the artifact does not succeed.
          - `skipReasonMessage` string, nullable: The detailed reason why the transform execution is skipped. `null` if the transform execution is not skipped.
          - `cacheKey` string, nullable: The build cache key. `null` if no build cache key was computed.
    - `gradleDeprecations` object: The deprecation list of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleDeprecations
        - `deprecations` GradleDeprecationEntry[], nullable: A list of Gradle Build Tool deprecations with details and usage information. `null` if deprecation capturing is not supported.
          - `summary` string, required: The description of the deprecation.
          - `removalDetails` string, required: The details about when the deprecated feature will be removed from Gradle.
          - `advice` string, nullable: The advice on how to avoid using the deprecated feature. `null` when no advice is available.
          - `documentationUrl` string, nullable: The external url pointing to some documentation about the deprecation. `null` for older Gradle/plugin combination or certain deprecation notices.
          - `usages` GradleDeprecationUsage[], required: List of usages of this deprecation.
            - `contextualAdvice` string, nullable: Advice on how to avoid using the deprecated feature, that is specific to this particular usage. `null` when no advice is available.
            - `owner` GradleDeprecationOwner, required
              - …
    - `gradlePlugins` object: The plugins applied in a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradlePlugins
        - `plugins` GradlePlugin[]: A list of applied plugins in a Gradle build.
          - `id` string: The plugin ID. May be `null`.
          - `className` string, required: The fully qualified class name of the plugin.
          - `version` string, nullable: The plugin version. May be `null`.
          - `projects` string[], required: The paths of the projects where the plugin is applied. Will always be an array of size 1 for a single project build.
    - `gradleResourceUsage` object: The resource usage gathered while executing a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleResourceUsage
        - `totalMemory` integer, nullable: The physical memory of the system in bytes. Can be `null` if the metrics could not be captured.
        - `total` ResourceUsageBreakdown
          - `allProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `allProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskReadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskWriteThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkUploadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkDownloadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
        - `nonExecution` ResourceUsageBreakdown
          - `allProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `allProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskReadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskWriteThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkUploadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkDownloadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
        - `execution` ResourceUsageBreakdown
          - `allProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `allProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskReadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskWriteThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkUploadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkDownloadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
    - `gradleBuildProfileOverview` object: The performance profile overview of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleBuildProfileOverview: The performance profile overview of a Gradle build.
        - `breakdown` GradleBuildTimeBreakdown, required: The build time breakdown of a Gradle build.
          - `total` integer, required: Total duration of the build in milliseconds.
          - `initialization` integer, required: The elapsed time from the very start of the build to the moment when any kind of configuration starts in milliseconds.
          - `configuration` integer, nullable: The elapsed time to build plugins, execute build scripts, configure projects and create the task execution plan in milliseconds. `null` if the build failed before the configuration phase.
          - `execution` integer: The elapsed time from the start of the execution of the first task of the main build to the end of the execution of the last task of the main build in milliseconds. `null` if the build failed before the execution phase.
          - `endOfBuild` integer, nullable: The elapsed time from the end of the execution of the last task of the main build to the end of the build in milliseconds. `null` if there was no end of build phase. `null` if the build failed before the end of build phase.
        - `memoryUsage` GradleBuildDaemonJvmMemoryUsage: Memory usage stats of the Gradle Daemon JVM while running the build.
          - `totalGarbageCollectionTime` integer, required: The total garbage collection time.
          - `memoryPools` MemoryPoolUsage[]: A list of all the heap memory pools of the JVM build process and their peak usage.
            - `name` string, required: The name of the memory pool.
            - `peakMemory` integer, required: The peak memory usage of this memory pool while running the build, in bytes.
            - `maxMemory` integer, required: The maximum amount of memory in bytes that can be used for memory management. `-1` if the maximum memory size is undefined.
    - `gradleConfigurationCache` object: The configuration cache result of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleConfigurationCache: The configuration cache result of a Gradle build. `null` if configuration cache was not used.
        - `result` GradleConfigurationCacheResult: The configuration cache result of a Gradle build.
          - `outcome` 'HIT' | 'MISS' | 'FAILED', required: The outcome of the configuration cache operation: * `HIT` - There was a configuration cache hit. * `MISS` - There was a configuration cache miss. * `FAILED` - There was a configuration cache related failure.
          - `entrySize` integer, nullable: The size of the configuration entry in bytes. `null` in case of certain failures or if the entry size was not captured.
          - `checkFingerprintDuration` integer, nullable: The duration of checking the configuration cache fingerprint. `null` in case no configuration cache fingerprint check was captured.
          - `dependencyResolutionDuration` integer, required: The duration of dependency resolution during configuration caching in seconds.
          - `store` GradleConfigurationCacheStoreResult: The configuration cache store result of a Gradle build.
            - `duration` integer, required: The duration of the configuration cache store operation in milliseconds. Does not include dependency resolution time.
            - `hasFailed` boolean, required: True when the configuration cache store operation fails, false otherwise.
          - `load` GradleConfigurationCacheLoadResult: The configuration cache load result of a Gradle build.
            - `duration` integer, required: The duration of the configuration cache load operation in milliseconds.
            - `hasFailed` boolean, required: True when the configuration cache load operation fails, false otherwise.
          - `missReasons` string[], nullable: The reasons why the configuration cache cannot be reused. `null` if there was no configuration cache hit.
    - `gradleDependencies` object: The dependencies of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleDependencies: Dependencies of a Gradle build. While there are many possible types of dependencies, initial support is for library dependencies of the software. Dependency identifiers are based on the package url (purl) [specification](https://github.com/package-url/purl-spec).
        - `dependencies` GradleDependency[]: List of dependencies of a Gradle build.
          - `scheme` string, required: The scheme used to identify the dependency.
          - `type` string, required: The type of the dependency.
          - `namespace` string, nullable: A prefix used to qualify the dependency name.
          - `name` string, required: The name of the dependency.
          - `version` string, nullable: The version of the dependency.
          - `qualifiers` object, nullable: Additional information to qualify the identity of the dependency. The names and their meanings are type-specific.
          - `subpath` string, nullable: Subpath within a dependency.
          - `purl` string, nullable: The [package URL](https://github.com/package-url/purl-spec) identifier for the dependency.
          - `repository` object, nullable: The repository where the dependency was resolved from.
            - `url` string, nullable: The URL of the repository.
            - `type` 'maven' | 'ivy' | 'flatDir' | 'npm', nullable: The type of the repository.
            - `resolutionSource` 'remote' | 'local' | 'unknown', nullable: A classification of the source this repository uses to resolve dependencies.
    - `gradleDependencyCaching` object: Dependency caching metrics of a Gradle build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` GradleDependencyCaching: Summary of dependency files resolved by source for a Gradle build.
        - `downloadedFileCount` integer, required: The number of resolved dependency files downloaded from remote repositories.
        - `downloadedFileSize` integer, required: The size in bytes of resolved dependency files downloaded from remote repositories.
        - `cachedFileCount` integer, required: The number of resolved dependency files retrieved from local cache.
        - `cachedFileSize` integer, required: The size in bytes of resolved dependency files retrieved from local cache.
    - `mavenAttributes` object: The attributes of a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenAttributes: The attributes of a Maven build.
        - `id` string, required: The Build Scan ID.
        - `buildStartTime` integer, required: The time when the build starts, as milliseconds since Epoch.
        - `buildDuration` integer, required: The duration of the build, as milliseconds.
        - `mavenVersion` string, required: The Maven version used.
        - `extensionVersion` string, required: The Develocity Maven extension version used.
        - `topLevelProjectName` string, nullable: The top level project name. `null` in case of very early build failure.
        - `requestedGoals` string[], required: The list of requested goals.
        - `hasFailed` boolean, required: True when the build fails, false otherwise.
        - `hasVerificationFailure` boolean: Set only if the build fails: true when the build has at least one failure classified as "Verification", false otherwise. The Verification classification is meant for failures that are expected within a standard application development lifecycle. They typically represent a problem with the developer’s inputs to the build such as the source code.
        - `hasNonVerificationFailure` boolean: Set only if the build fails: true when the build has at least one failure classified as "Non-verification", false otherwise. The Non-verification classification is meant for failures that are typically not expected within a standard application development lifecycle, such as build configuration failures, dependency resolution failures, and infrastructure failures.
        - `tags` string[], required: The list of Build Scan tags.
        - `values` BuildAttributesValue[], required: The list of Build Scan values.
          - `name` string, required: The name of the Build Scan value.
          - `value` string: The value of the Build Scan value. `null` if the Build Scan value is not set.
        - `links` BuildAttributesLink[], required: The list of Build Scan links.
          - `label` string, required: The label of the Build Scan link.
          - `url` string, required: The url of the Build Scan link.
        - `develocitySettings` MavenDevelocitySettings, required: Settings for Develocity.
          - `backgroundPublicationEnabled` boolean, nullable: Indicates whether background Build Scan publication is enabled for the build. `null` if Develocity Maven extension version is < `1.6`. See https://gradle.com/help/maven-extension-configuring-background-uploading.
          - `buildOutputCapturingEnabled` boolean, nullable: Indicates whether to capture build logging output for the build. `null` if Develocity Maven extension version is < `1.11`. See https://gradle.com/help/maven-extension-capturing-build-and-test-outputs.
          - `fileFingerprintCapturingEnabled` boolean, nullable: Indicates whether file fingerprint capturing is enabled for the build. `null` if Develocity Maven extension version is < `1.1`. See https://gradle.com/help/maven-extension-capturing-goal-input-files/.
          - `goalInputsFileCapturingEnabled` boolean, nullable: Indicates whether to capture goal input file snapshots for the build. `null` if Develocity Maven extension version is < `1.1`. See https://gradle.com/help/maven-extension-capturing-goal-input-files. **This property is deprecated, use `fileFingerprintCapturingEnabled` instead.**
          - `testOutputCapturingEnabled` boolean, nullable: Indicates whether to capture test logging output for the build. `null` if Develocity Maven extension version is < `1.11`. See https://gradle.com/help/maven-extension-capturing-build-and-test-outputs.
          - `resourceUsageCapturingEnabled` boolean, nullable: Indicates whether resource usage capturing is enabled for the build. `null` if Develocity Maven extension version is < `1.22`. See https://gradle.com/help/maven-extension-capturing-resource-usage.
        - `buildOptions` MavenBuildOptions, required: Maven build options for this build.
          - `batchModeEnabled` boolean, nullable: Indicates whether the build is configured to run in non-interactive (batch) mode. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#batch-mode.
          - `daemonEnabled` boolean, nullable: Indicates whether the build runs with the Maven Daemon. `null` if Develocity Maven extension version is < `1.24`. See https://github.com/apache/maven-mvnd.
          - `debugEnabled` boolean, nullable: Indicates whether the build is configured to produce execution debug output. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#debug.
          - `errorsEnabled` boolean, required: Indicates whether the build is configured to produce execution error messages. See https://maven.apache.org/ref/current/maven-embedder/cli.html#errors.
          - `failAtEndEnabled` boolean, nullable: Indicates whether the build is configured to only fail at the end. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#fail-at-end.
          - `failFastEnabled` boolean, nullable: Indicates whether the build is configured to fail at the first error. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#fail-fast.
          - `failNeverEnabled` boolean, nullable: Indicates whether the build is configured to never fail, regardless of errors produced. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#fail-never.
          - `laxChecksumsEnabled` boolean, nullable: Indicates whether the build is configured to only warn if checksums don't match. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#lax-checksums.
          - `maxNumberOfThreads` integer, required: Maximum number of threads used when executing the build. See https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3.
          - `nonRecursiveEnabled` boolean, required: Indicates whether the build is configured to not recurse into sub-projects. See https://maven.apache.org/ref/current/maven-embedder/cli.html#non-recursive.
          - `rerunGoalsEnabled` boolean, nullable: Indicates whether the build is configured to rerun goals without checking the build cache. `null` if Develocity Maven extension version is < `1.13`. See https://gradle.com/help/maven-extension-rerunning-goals.
          - `noSnapshotsUpdatesEnabled` boolean, required: Indicates whether the build is configured to suppress snapshot updates. See https://maven.apache.org/ref/current/maven-embedder/cli.html#no-snapshot-updates.
          - `offlineModeEnabled` boolean, required: Indicates whether the build is configured to run offline. See https://maven.apache.org/ref/current/maven-embedder/cli.html#offline.
          - `quietEnabled` boolean, nullable: Indicates whether the build is configured to run in quiet mode. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#quiet.
          - `strictChecksumsEnabled` boolean, nullable: Indicates whether the build is configured to fail if checksums don't match. `null` if capturing is not possible. See https://maven.apache.org/ref/current/maven-embedder/cli.html#strict-checksums.
          - `updateSnapshotsEnabled` boolean, required: Indicates whether the build is configured to force a check for missing releases and updated snapshots on remote repositories. See https://maven.apache.org/ref/current/maven-embedder/cli.html#update-snapshots.
          - `rerunGoals` boolean, nullable: **This property is deprecated, use `rerunGoalsEnabled` instead.** Indicates whether the build is configured to rerun goals without checking the build cache. `null` if Develocity Maven extension version is < `1.13`. See https://gradle.com/help/maven-extension-rerunning-goals.
          - `resumeEnabled` boolean, nullable: Indicates whether the build resumes from the last failed subproject. `null` if Develocity Maven extension version is < `2.2` or Maven version is < Maven 4.
        - `environment` BuildAttributesEnvironment, required: The environment where the build is executed.
          - `username` string, nullable: Operating system username of the build user. `null` if no username is captured.
          - `operatingSystem` string, required: Operating system of the build machine.
          - `numberOfCpuCores` integer, required: Number of cores available to the build JVM.
          - `jreVersion` string, required: Version of the Java runtime executing the build.
          - `jvmVersion` string, required: Version of the Java Virtual Machine executing the build.
          - `jvmMaxMemoryHeapSize` integer, required: Maximum heap memory available to the build JVM in bytes.
          - `jvmCharset` string, nullable: The default charset of the JVM executing the build. `null` if capturing is not possible.
          - `jvmLocale` string, required: The locale of the JVM executing the build.
          - `publicHostname` string, nullable: The hostname of the build machine, as seen on the network. `null` if capturing is not possible.
          - `localHostname` string, nullable: The hostname of the build machine, as specified by itself. `null` if capturing is not possible.
          - `localIpAddresses` string[], nullable: The local IP addresses of the build machine. `null` if capturing is not possible.
        - `gradleEnterpriseSettings` MavenGradleEnterpriseSettings, required: **This property is deprecated, use `develocitySettings` instead.** Settings for Develocity.
          - `backgroundPublicationEnabled` boolean, nullable: Indicates whether background Build Scan publication is enabled for the build. `null` if Develocity Maven extension version is < `1.6`. See https://gradle.com/help/maven-extension-configuring-background-uploading.
          - `buildOutputCapturingEnabled` boolean, nullable: Indicates whether to capture build logging output for the build. `null` if Develocity Maven extension version is < `1.11`. See https://gradle.com/help/maven-extension-capturing-build-and-test-outputs.
          - `goalInputsFileCapturingEnabled` boolean, nullable: Indicates whether to capture goal input file snapshots for the build. `null` if Develocity Maven extension version is < `1.1`. See https://gradle.com/help/maven-extension-capturing-goal-input-files.
          - `testOutputCapturingEnabled` boolean, nullable: Indicates whether to capture test logging output for the build. `null` if Develocity Maven extension version is < `1.11`. See https://gradle.com/help/maven-extension-capturing-build-and-test-outputs.
          - `resourceUsageCapturingEnabled` boolean, nullable: Indicates whether resource usage capturing is enabled for the build. `null` if Develocity Maven extension version is < `1.22`. See https://gradle.com/help/maven-extension-capturing-resource-usage.
    - `mavenTestPerformance` object: Test performance-related metrics of a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenTestPerformance: Test performance metrics of a Maven build.
        - `tests` BuildTestPerformanceTests, required: Test-related data of a build.
          - `testClassesCount` integer, required: Number of test classes of a build.
        - `serialTestGoalsExecutionTime` integer, required: The sum of the serial execution times in millis of test goals run in the build.
        - `testAcceleration` TestPerformanceBuildTestAcceleration, required: Test acceleration data of a build.
          - `predictiveTestSelection` TestPerformanceBuildPredictiveTestSelection, required: Predictive Test Selection related data of a build.
            - `usage` TestPerformanceBuildPredictiveTestSelectionUsage, required: Groups PTS usage data (build level).
              - …
            - `simulation` TestPerformanceBuildPredictiveTestSelectionSimulation: Groups data from the three PTS simulation profiles (build level).
              - …
          - `testDistribution` TestPerformanceBuildTestDistribution, required: Test Distribution related data of a build.
            - `usageStatus` 'unavailable' | 'disabled' | 'enabled', required: Develocity extension status of a build / work unit: * `unavailable` - Feature status is unknown (e.g. for older Gradle plugin / Maven extension versions) or feature could not be used due to an unexpected error * `disabled` - The extension was enabled on none of the tasks in the build / for the task in question * `enabled` - The extension was enabled on at least one of the tasks in the build / for the task in question**
            - `wallClockSavings` integer, nullable, required: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the Test Distribution request, than it would have taken to directly execute the tests.
          - `wallClockSavings` integer, nullable, required: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the test acceleration requests, than it would have taken to directly execute the tests.
        - `testGoals` TestPerformanceGoal[], required
          - `goalPath` string, required: The path of the test goal
          - `goalType` string, required: The fully qualified name of the goal type
          - `wallClockExecutionTime` integer, required: The total execution time of the test goal in millis. This is the time elapsed between the start and end of the entire test goal.
          - `serialExecutionTime` integer, required: The serial execution time of the test goal in millis. This is the sum of all serial test class durations and includes the setup and cleanup durations of the test goal.
          - `tests` WorkUnitTestPerformanceTests, required: Test-related data of a task/goal.
            - `failedTestClassesCount` integer, required: Number of failed test classes of a task/goal.
            - `testClassesCount` integer, required: Number of test classes of a task/goal.
          - `testAcceleration` TestPerformanceWorkUnitTestAcceleration, required: Test acceleration data of a work unit.
            - `predictiveTestSelection` TestPerformanceWorkUnitPredictiveTestSelection, required: Predictive Test Selection related data of a work unit.
              - …
            - `testDistribution` TestPerformanceWorkUnitTestDistribution, required: Test Distribution related data of a work unit.
              - …
            - `wallClockSavings` integer, nullable, required: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the test acceleration requests, than it would have taken to directly execute the tests.
    - `mavenBuildCachePerformance` object: The build cache performance of a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenBuildCachePerformance: The build cache performance of a Maven build.
        - `id` string, required: The Build Scan ID.
        - `buildTime` integer, required: Wall clock duration of the build in milliseconds.
        - `effectiveProjectExecutionTime` integer, required: Wall clock time spent executing projects in milliseconds. It is the time spent between the start of the first project execution and the end of the last project execution, removing any interval where no project is being executed.
        - `serialProjectExecutionTime` integer, required: Wall clock time of all project executions in milliseconds. It is the sum of all individual project durations.
        - `serializationFactor` number, double, required: The ratio of `serialProjectExecutionTime` over the `effectiveProjectExecutionTime`. Quantifies the effect of project parallelization. A value equal to `1` means that no parallelization occurs. A value greater than `1` means that projects are executed faster due to parallelization.
        - `goalExecution` MavenBuildCachePerformanceGoalExecutionEntry[], required: A list of executed goals with performance related information.
          - `goalName` string, required: The goal name.
          - `mojoType` string, required: The fully qualified class name of the Mojo that provides the implementation of this goal.
          - `goalExecutionId` string, required: The goal execution ID.
          - `goalProjectName` string, required: The goal project name.
          - `avoidanceOutcome` 'avoided_from_local_cache' | 'avoided_from_remote_cache' | 'executed_cacheable' | 'executed_not_cacheable' | 'executed_unknown_cacheability' | 'skipped', required: The avoidance outcome of this task with respect to performance: * `avoided_from_local_cache` - Goal whose execution is avoided due to reusing a local build cache entry * `avoided_from_remote_cache` - Goal whose execution is avoided due to reusing a remote build cache entry * `executed_cacheable` - Goal which is executed but is cacheable * `executed_not_cacheable` - Goal which is executed but is not cacheable * `executed_unknown_cacheability` - Goal which is executed and whose cacheability cannot be determined * `skipped` - Skipped goal
          - `duration` integer, required: The goal duration in milliseconds.
          - `fingerprintingDuration` integer, nullable: The goal fingerprinting duration in milliseconds. This duration is part of the complete task execution duration. `null` if the goal is not fingerprinted.
          - `avoidanceSavings` integer, nullable: The goal avoidance savings in milliseconds, which can be negative. Negative values indicate that it takes more time to reuse outputs than it did to create them originally. `null` if the information is not available.
          - `nonCacheabilityCategory` 'build_cache_disabled_by_user' | 'goal_execution_marked_non_cacheable' | 'goal_not_supported' | 'no_gradle_enterprise_server_configured' | 'no_develocity_server_configured' | 'non_clean_build' | 'not_entitled' | 'offline_build' | 'unknown' | 'unknown_entitlements', nullable: The category of the non-cacheability reason: * `build_cache_disabled_by_user` - The build cache is disabled by the user * `goal_execution_marked_non_cacheable` - The goal execution is marked as non-cacheable * `goal_not_supported` - The goal does not support build caching * `no_gradle_enterprise_server_configured` - No Develocity server is configured **Deprecated, use `no_develocity_server_configured` instead** * `no_develocity_server_configured` - No Develocity server is configured * `non_clean_build` - The `clean` lifecycle is not executed * `not_entitled` - The Develocity license entitlements does not allow Maven build caching * `offline_build` - The build is run in offline mode * `unknown` - Reason for disabled caching is not known * `unknown_entitlements` - The Develocity license entitlements cannot be checked `null` when the goal execution is cacheable or if the information is not available.
          - `nonCacheabilityReason` string, nullable: The human-readable reason for a non-cacheable goal execution. `null` when the goal execution is cacheable or if the information is not available.
          - `cacheArtifactSize` integer, nullable: The number of bytes of the produced or consumed cache artifact. For a goal execution where the outputs are successfully stored to a local or remote cache, this is the size of the stored cache artifact. For a goal execution where the outputs are successfully loaded from a local or remote cache, this is the size of the loaded cache artifact. `null` if the goal execution is not cacheable, or if the attempt to store or load the artifact from cache does not succeed.
          - `cacheArtifactRejectedReason` 'artifact_size_too_large', nullable: The reason why the cache artifact has been rejected: * `artifact_size_too_large` - The size of the artifact is larger than the remote build cache can accept. `null` if the goal is not cacheable, or if the attempt to store the artifact does not succeed.
          - `cacheKey` string, nullable: Build cache key. `null` if no build cache key was computed (e.g. when fingerprinting failed).
          - `hasFailed` boolean, required: True when the goal failed, false otherwise.
        - `goalFingerprintingSummary` MavenBuildCachePerformanceGoalFingerprintingSummary, required: A summary of goal fingerprinting. Fingerprinted goals are part of the `goalExecution.avoidedGoals` or `goalExecution.executedGoals` buckets.
          - `count` integer, required: Count of fingerprinted goals.
          - `serialDuration` integer, required: Sum of all fingerprinting times of fingerprinted goals in milliseconds.
        - `avoidanceSavingsSummary` MavenBuildCachePerformanceAvoidanceSavingsSummary, required: A breakdown of avoidance savings.
          - `total` integer, required: The estimated reduction in serial execution time of the goals due to their outputs being reused in milliseconds.
          - `ratio` number, double, required: The ratio of the total avoidance savings against the potential serial execution time (which is the actual serial execution time plus the total avoidance savings). Quantifies the effect of avoidance savings in this build. The bigger the ratio is, the more time is saved when running the build.
          - `localBuildCache` integer, required: The estimated reduction in serial execution time of the goals due to their outputs being reused from the local build cache in milliseconds.
          - `remoteBuildCache` integer, required: The estimated reduction in serial execution time of the goals due to their outputs being reused from the remote build cache in milliseconds.
        - `buildCaches` MavenBuildCachePerformanceBuildCaches, nullable: Information about the local and remote build caches used in the build, if it is configured in the build. `null` if the build cache configuration cannot be captured (e.g. very early build failure).
          - `local` MavenBuildCachePerformanceBuildCacheLocalInfo, nullable: Information about the local build cache used in the build, if it is configured in the build. `null` if the local build cache is not configured.
            - `isEnabled` boolean, required: Indicates whether the local build cache is enabled.
            - `isPushEnabled` boolean, nullable: Indicates whether pushing to the local build cache is enabled. `null` if the local build cache is disabled.
            - `isDisabledDueToError` boolean: Indicates whether the local cache is disabled due to an error occurring in loading or storing local build cache entries. `null` if the local build cache is disabled.
            - `directory` string, nullable: Location of the local build cache. Can be relative or absolute depending on its value. `null` if the local build cache is disabled.
          - `remote` MavenBuildCachePerformanceBuildCacheRemoteInfo, nullable: Information about the remote build cache used in the build, if it is configured in the build. `null` if the remote build cache is not configured.
            - `isEnabled` boolean, required: Indicates whether the remote build cache is enabled.
            - `isPushEnabled` boolean, nullable: Indicates whether pushing to the remote build cache is enabled. `null` if the remote build cache is disabled.
            - `isDisabledDueToError` boolean: Indicates whether the remote build cache is disabled during the build due to an error occurring in loading or storing remote build cache entries. `null` if the remote build cache is disabled.
            - `url` string, nullable: URL of the remote build cache. `null` if the remote build cache is disabled.
          - `overhead` MavenBuildCachePerformanceBuildCacheOverhead, required: Information about the build cache overhead in this build.
            - `uploading` integer, required: Overhead of upload operations in milliseconds.
            - `downloading` integer, required: Overhead of download operations in milliseconds.
            - `packing` integer, required: Overhead of pack operations in milliseconds.
            - `unpacking` integer, required: Overhead of unpack operations in milliseconds.
    - `mavenModules` object: List of Maven modules, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenModule[]: List of Maven modules including structural relationships.
        - `name` string, required: The name of the module.
        - `groupId` string, required: The group ID of the module.
        - `artifactId` string, required: The artifact ID of the module.
        - `version` string, required: The version of the module.
        - `parent` integer, nullable: The index of the parent of this Maven module in the MavenModules array. `null` if this module has no parent (i.e. top level project).
    - `mavenDependencyResolution` object: Information about dependency resolution, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenDependencyResolution: Information about dependency resolution.
        - `serialDependencyResolutionTime` integer, required: The total cumulative time, in milliseconds, spent resolving dependencies. The process of resolving a dependency involves fetching metadata from remote repositories, determining the appropriate version to use, and ultimately fetching the dependency artifact.
        - `networkRequestCount` integer, required: This represents the total count of network requests made during configuration resolution.
        - `serialNetworkRequestTime` integer, required: The duration in milliseconds representing the sum of times for potentially parallel network requests. It does not reflect wall clock time but offers a rough estimation of network activity.
        - `wallClockNetworkRequestTime` integer, required: The estimate in milliseconds representing the wall clock time spent on network requests during the current build. It is calculated by comparing the critical path of project executions with and without network requests, converted to wall clock time.
        - `fileDownloadSize` integer, required: The total number of bytes downloaded for dependencies. It accounts only for the bytes of the files (e.g. POMs, JARs) downloaded and not the total network transfer.
        - `fileDownloadCount` integer, required: The total number of successfully downloaded files.
        - `methods` object: A breakdown of the network activity by HTTP method, when available.
        - `repositories` object: A breakdown of the network activity by repository URL. This is empty when no repositories were captured.
        - `repositoryMethods` object: A breakdown of the network activity by HTTP method and repository, when available.
    - `mavenPlugins` object: The plugins applied in a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenPlugins
        - `plugins` MavenPlugin[]: A list of applied plugins in a Maven build.
          - `groupId` string, required: The plugin group ID.
          - `artifactId` string, required: The plugin artifact ID.
          - `name` string, nullable: The name of the plugin. May be `null` in cases where this is not defined or captured.
          - `version` string, required: The plugin version.
          - `executedGoals` string[], required: The list of executed plugin goals. May be empty if none of the plugin goals are executed in this build.
          - `modules` string[], required: The list of short form coordinates of the modules where the plugin is applied, in the format `groupId:artifactId`.
          - `goalPrefix` string, nullable: The prefix defined by the plugin for its goals. Can be `null` if not specified by the plugin.
          - `requiredMavenVersion` string, nullable: The required Maven version for the plugin. Can be `null` if not specified by the plugin.
    - `mavenExtensions` object: The extensions applied in a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenExtensions
        - `extensions` MavenExtension[]: A list of applied extensions in a Maven build.
          - `groupId` string, nullable: The extension group ID. May be null if it cannot be retrieved by the Develocity extension.
          - `artifactId` string, nullable: The extension artifact ID. May be null if it cannot be retrieved by the Develocity extension.
          - `version` string, nullable: The extension version. May be null if it cannot be retrieved by the Develocity extension.
          - `type` 'CORE' | 'MAVEN_EXT_CLASSPATH' | 'LIB_EXT' | 'PROJECT' | 'POM' | 'UNKNOWN', required: The extension application type. * `CORE` - A core extension, provided in the lib folder of the Maven installation. * `MAVEN_EXT_CLASSPATH` - A core extension provided via the -Dmaven.ext.class.path system property. * `LIB_EXT` - A core extension, provided in the lib/ext folder of the Maven installation. * `PROJECT` - A project extension, provided via a declaration in .mvn/extensions.xml in the Maven working directory. * `POM` - A build extension, provided via a declaration in the build section of the top level project pom.xml * `UNKNOWN` - An extension for which none of the other types match.
    - `mavenResourceUsage` object: The resource usage gathered while executing a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenResourceUsage
        - `totalMemory` integer, nullable: The physical memory of the system in bytes. Can be `null` if the metrics could not be captured.
        - `total` ResourceUsageBreakdown
          - `allProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `allProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskReadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskWriteThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkUploadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkDownloadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
        - `nonExecution` ResourceUsageBreakdown
          - `allProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `allProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskReadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskWriteThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkUploadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkDownloadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
        - `execution` ResourceUsageBreakdown
          - `allProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesCpu` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `allProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildProcessMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `buildChildProcessesMemory` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskReadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `diskWriteThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkUploadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
          - `networkDownloadThroughput` ResourceUsageMetric
            - `max` integer, required: The max value of the metric.
            - `average` integer, required: The average value of the metric.
            - `median` integer, required: The median (or 50th percentile) value of the metric.
            - `p5` integer, required: The 5th percentile value of the metric.
            - `p25` integer, required: The 25th percentile value of the metric.
            - `p75` integer, required: The 75th percentile value of the metric.
            - `p95` integer, required: The 95th percentile value of the metric.
    - `mavenBuildProfileOverview` object: The performance profile overview of a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenBuildProfileOverview: The performance profile overview of a Maven build.
        - `breakdown` MavenBuildTimeBreakdown, required: The build time breakdown of a Maven build.
          - `total` integer, required: Total duration of the build in milliseconds.
          - `initializationAndDiscovery` MavenBuildInitializationAndDiscoveryTimeBreakdown, required: The time breakdown of the initialization and discovery phase of a Maven build.
            - `total` integer, required: The elapsed time from the very start of the build to the start of the execution of the first project in milliseconds.
            - `settings` integer, required: The elapsed time taken to read the settings of the build in milliseconds.
            - `toolchains` integer, required: The elapsed time taken to read the toolchain settings of the build in milliseconds.
            - `projectDiscovery` integer, nullable: The elapsed time taken to discover all projects included in the build in milliseconds. `null` if the build failed before the project discovery phase.
            - `other` integer, required: Any other elapsed time between the start of the build and the start of the execution of the first project in milliseconds.
          - `execution` MavenBuildExecutionTimeBreakdown: The time breakdown of the execution phase of a Maven build.
            - `total` integer, required: The elapsed time from the start of the execution of the first project to the end of the build in milliseconds.
            - `goalExecution` integer, nullable: The elapsed time from the start of the execution of the first project to the end of the execution of the last project in milliseconds. `null` if the build failed before the goal execution phase.
            - `endOfBuild` integer, nullable: The elapsed time from the end of the execution of the last project to the end of the build in milliseconds. `null` if the build failed before the end of build phase.
        - `memoryUsage` MavenBuildJvmMemoryUsage: Memory usage stats of the Maven JVM while running the build.
          - `totalGarbageCollectionTime` integer, required: The total garbage collection time.
          - `memoryPools` MemoryPoolUsage[]: A list of all the heap memory pools of the JVM build process and their peak usage.
            - `name` string, required: The name of the memory pool.
            - `peakMemory` integer, required: The peak memory usage of this memory pool while running the build, in bytes.
            - `maxMemory` integer, required: The maximum amount of memory in bytes that can be used for memory management. `-1` if the maximum memory size is undefined.
    - `mavenDependencies` object: The dependencies of a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenDependencies: Dependencies of a Maven build. While there are many possible types of dependencies, initial support is for library dependencies of the software. Dependency identifiers are based on the package url (purl) [specification](https://github.com/package-url/purl-spec).
        - `dependencies` MavenDependency[]: List of dependencies of a Maven build.
          - `scheme` string, required: The scheme used to identify the dependency.
          - `type` string, required: The type of the dependency.
          - `namespace` string, nullable: A prefix used to qualify the dependency name.
          - `name` string, required: The name of the dependency.
          - `version` string, nullable: The version of the dependency.
          - `qualifiers` object, nullable: Additional information to qualify the identity of the dependency. The names and their meanings are type-specific.
          - `subpath` string, nullable: Subpath within a dependency.
          - `purl` string, nullable: The [package URL](https://github.com/package-url/purl-spec) identifier for the dependency.
          - `repository` object, nullable: The repository where the dependency was resolved from.
            - `url` string, nullable: The URL of the repository.
            - `type` 'maven' | 'ivy' | 'flatDir' | 'npm', nullable: The type of the repository.
            - `resolutionSource` 'remote' | 'local' | 'unknown', nullable: A classification of the source this repository uses to resolve dependencies.
    - `mavenDependencyCaching` object: Dependency caching metrics of a Maven build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` MavenDependencyCaching: Summary of dependency files resolved by source for a Maven build.
        - `downloadedFileCount` integer, required: The number of resolved dependency files downloaded from remote repositories.
        - `downloadedFileSize` integer, required: The size in bytes of resolved dependency files downloaded from remote repositories.
        - `cachedFileCount` integer, required: The number of resolved dependency files retrieved from local cache.
        - `cachedFileSize` integer, required: The size in bytes of resolved dependency files retrieved from local cache.
    - `bazelAttributes` object: The attributes of a Bazel build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` BazelAttributes: The attributes of a Bazel build.
        - `id` string, required: The Build Scan ID.
        - `invocationId` string, nullable: The Bazel-provided build invocation ID. Null when not known.
        - `buildStartTime` integer, required: The time when the build starts, as milliseconds since Epoch.
        - `buildDuration` integer, required: The duration of the build, as milliseconds.
        - `bazelVersion` string, required: The Bazel version used.
        - `command` string, required: The Bazel command used (e.g. build, test, run).
        - `targetPatterns` string[]: The list of requested target patterns.
        - `exitCode` integer, nullable: The exit code of the Bazel process.
        - `user` string, nullable: The BUILD_USER workspace value, if set.
        - `host` string, nullable: The BUILD_HOST workspace value, if set.
        - `tags` string[], required: The list of Build Scan tags.
        - `values` BuildAttributesValue[], required: The list of Build Scan values.
          - `name` string, required: The name of the Build Scan value.
          - `value` string: The value of the Build Scan value. `null` if the Build Scan value is not set.
        - `links` BuildAttributesLink[], required: The list of Build Scan links.
          - `label` string, required: The label of the Build Scan link.
          - `url` string, required: The url of the Build Scan link.
        - `moduleName` string, nullable: The name of the module, or workspace. `null` in case of very early build failure.
        - `hasFailed` boolean, required: True when the build fails, false otherwise.
    - `bazelCriticalPath` object: The critical path of a Bazel build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` BazelCriticalPath: The reported actions of the critical path.
        - `actions` object[]: The actions of the critical path. Null when the build failed early, or when the build profile was not available to Develocity.
          - `name` string, required: The name of the action.
          - `category` string, required: The category of the action.
          - `duration` integer, required: The duration of the action, as milliseconds.
    - `npmAttributes` object: The attributes of an npm build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` NpmAttributes: The attributes of an npm build.
        - `id` string, required: The Build Scan ID.
        - `buildStartTime` integer, required: The time when the build starts, as milliseconds since Epoch.
        - `buildDuration` integer, required: The duration of the build, as milliseconds.
        - `exitCode` integer, nullable: The exit code of the npm process.
        - `nodejsVersion` string: The Node.js version used.
        - `npmVersion` string, required: The npm version used.
        - `npmAgentVersion` string, required: The version of the Develocity npm agent.
        - `command` NpmCommand, required: The command run on an npm build.
          - `command` string, required: The command that was run (e.g. in "npm install", this would be "install").
          - `arguments` string[]: The arguments passed to the command (e.g. in "npm run script.js", this would be ["script.js"]).
        - `links` BuildAttributesLink[], required: The list of Build Scan links.
          - `label` string, required: The label of the Build Scan link.
          - `url` string, required: The url of the Build Scan link.
        - `tags` string[], required: The list of Build Scan tags.
        - `values` BuildAttributesValue[], required: The list of Build Scan values.
          - `name` string, required: The name of the Build Scan value.
          - `value` string: The value of the Build Scan value. `null` if the Build Scan value is not set.
        - `user` string, nullable: The username of the user that ran the build.
        - `host` string, nullable: The hostname of the user that ran the build, if set.
        - `packageName` string, nullable: The name of the package. `null` in case of very early build failure.
        - `hasFailed` boolean, required: True when the build fails, false otherwise.
        - `hasVerificationFailure` boolean: Set only if the build failed: true when the build has at least one failure classified as "Verification", false otherwise. The Verification classification is meant for failures that are expected within a standard application development lifecycle. They typically represent a problem with the developer’s inputs to the build such as the source code.
        - `hasNonVerificationFailure` boolean: Set only if the build failed: true when the build has at least one failure classified as "Non-verification", false otherwise. The Non-verification classification is meant for failures that are typically not expected within a standard application development lifecycle, such as build configuration failures, dependency resolution failures, and infrastructure failures.
    - `npmDependencies` object: The dependencies of an npm build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` NpmDependencies: Dependencies of an npm build. While there are many possible types of dependencies, initial support is for library dependencies of the software. Dependency identifiers are based on the package url (purl) [specification](https://github.com/package-url/purl-spec).
        - `dependencies` NpmDependency[]: List of dependencies of an npm build.
          - `scheme` string, required: The scheme used to identify the dependency.
          - `type` string, required: The type of the dependency.
          - `namespace` string, nullable: A prefix used to qualify the dependency name.
          - `name` string, required: The name of the dependency.
          - `version` string, nullable: The version of the dependency.
          - `qualifiers` object, nullable: Additional information to qualify the identity of the dependency. The names and their meanings are type-specific.
          - `subpath` string, nullable: Subpath within a dependency.
          - `purl` string, nullable: The [package URL](https://github.com/package-url/purl-spec) identifier for the dependency.
          - `repository` object, nullable: The repository where the dependency was resolved from.
            - `url` string, nullable: The URL of the repository.
            - `type` 'maven' | 'ivy' | 'flatDir' | 'npm', nullable: The type of the repository.
            - `resolutionSource` 'remote' | 'local' | 'unknown', nullable: A classification of the source this repository uses to resolve dependencies.
    - `npmNetworkActivity` object: Information about the network activity of the build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` NpmNetworkActivity: Information about the network activity of the build.
        - `networkRequestCount` integer, required: This represents the total count of network requests made during dependency resolution.
        - `serialNetworkRequestTime` integer, required: The duration in milliseconds representing the sum of times for potentially parallel network requests. It does not reflect wall clock time but offers a rough estimation of network activity.
        - `wallClockNetworkRequestTime` integer, required: The estimate in milliseconds representing the wall clock time spent on network requests during the current build.
        - `fileDownloadSize` integer, required: The total number of bytes downloaded for dependencies. It accounts only for the bytes of the files (e.g. TGZs, pakuments) downloaded and not the total network transfer.
        - `fileDownloadCount` integer, required: The total number of successfully downloaded files.
        - `methods` object: A breakdown of the network activity by HTTP method, when available.
        - `registries` object: A breakdown of the network activity by registry URL. This is empty when no registries were captured.
        - `registryMethods` object: A breakdown of the network activity by HTTP method and registry, when available.
    - `pythonAttributes` object: The attributes of a Python build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` PythonAttributes: The attributes of a Python build.
        - `id` string, required: The Build Scan ID.
        - `buildStartTime` integer, required: The time when the build starts, as milliseconds since Epoch.
        - `buildDuration` integer, required: The duration of the build, as milliseconds.
        - `exitCode` integer: The exit code of the Python process.
        - `exception` string, nullable: The exception message thrown by the Python process, if any.
        - `pythonVersion` string, required: The Python version used in the build.
        - `pythonAgentVersion` string, required: The version of the Develocity Python agent.
        - `command` string[], required: The command and arguments requested in the build.
        - `links` BuildAttributesLink[], required: The list of Build Scan links.
          - `label` string, required: The label of the Build Scan link.
          - `url` string, required: The url of the Build Scan link.
        - `tags` string[], required: The list of Build Scan tags.
        - `values` BuildAttributesValue[], required: The list of Build Scan values.
          - `name` string, required: The name of the Build Scan value.
          - `value` string: The value of the Build Scan value. `null` if the Build Scan value is not set.
        - `user` string, nullable: The username of the user that ran the build.
        - `host` string, nullable: The hostname of the user that ran the build, if set.
        - `hasFailed` boolean, required: True when the build fails, false otherwise.
        - `projectName` string, nullable: The name of the project. `null` in case of very early build failure.
    - `sbtAttributes` object: The attributes of an sbt build, or a report of a problem encountered.
      - `problem` ApiProblem: Response detailing why a request was rejected. Adheres to the [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807) standard (colloquially known as "Problem JSON") for the response format.
        - `status` integer, required: HTTP status code of the problem response.
        - `type` string, required: A URN (Uniform Resource Name) identifying the type of the problem.
        - `title` string, required: The underlying reason for the problem.
        - `detail` string, nullable: A longer and comprehensive description of the problem. May be `null` if not available.
      - `model` SbtAttributes: The attributes of an sbt build.
        - `id` string, required: The Build Scan ID.
        - `buildStartTime` integer, required: The time when the build starts, as milliseconds since Epoch.
        - `buildDuration` integer, required: The duration of the build, as milliseconds.
        - `sbtVersion` string, required: The sbt version used.
        - `pluginVersion` string, required: The Develocity sbt plugin version used.
        - `rootProjectName` string, required: The name of the root project, as reported by sbt.
        - `requestedCommands` string[], required: The list of requested commands.
        - `hasFailed` boolean, required: True when the build fails, false otherwise.
        - `hasVerificationFailure` boolean: Set only if the build fails: true when the build has at least one failure classified as "Verification", false otherwise. The Verification classification is meant for failures that are expected within a standard application development lifecycle. They typically represent a problem with the developer’s inputs to the build such as the source code.
        - `hasNonVerificationFailure` boolean: Set only if the build fails: true when the build has at least one failure classified as "Non-verification", false otherwise. The Non-verification classification is meant for failures that are typically not expected within a standard application development lifecycle, such as build configuration failures, dependency resolution failures, and infrastructure failures.
        - `tags` string[], required: The list of Build Scan tags.
        - `values` BuildAttributesValue[], required: The list of Build Scan values.
          - `name` string, required: The name of the Build Scan value.
          - `value` string: The value of the Build Scan value. `null` if the Build Scan value is not set.
        - `links` BuildAttributesLink[], required: The list of Build Scan links.
          - `label` string, required: The label of the Build Scan link.
          - `url` string, required: The url of the Build Scan link.
        - `develocitySettings` SbtDevelocitySettings, required: Settings for Develocity.
          - `backgroundPublicationEnabled` boolean, required: Indicates whether background Build Scan publication is enabled for the build. See https://gradle.com/help/sbt-plugin-switches-background-build-scan-publication.
          - `buildOutputCapturingEnabled` boolean, nullable: Indicates whether to capture build logging output for the build. `null` if Develocity sbt plugin version is < `1.0`. See https://gradle.com/help/sbt-plugin-capturing-build-output.
          - `resourceUsageCapturingEnabled` boolean, nullable: Indicates whether resource usage capturing is enabled for the build. `null` if Develocity sbt plugin version is < `1.1`. See https://gradle.com/help/sbt-plugin-capturing-resource-usage.
        - `buildOptions` SbtBuildOptions, required: sbt build options for this build.
          - `useCoursierEnabled` boolean, required: Indicates whether Coursier was used for dependency resolution.
          - `offlineModeEnabled` boolean, required: Indicates whether the build was configured to run offline.
          - `turboEnabled` boolean, required: Indicates whether the build was configured to use turbo mode.
          - `parallelExecutionEnabled` boolean, required: Indicates whether the build was configured to use parallel tasks execution.
          - `semanticDbScalacPluginEnabled` boolean, required: Indicates whether the projects in the build were configured to use the SemanticDB Scalac plugin.
          - `interactiveModeEnabled` boolean, required: Indicates whether the build was run from the sbt shell.
        - `environment` BuildAttributesEnvironment, required: The environment where the build is executed.
          - `username` string, nullable: Operating system username of the build user. `null` if no username is captured.
          - `operatingSystem` string, required: Operating system of the build machine.
          - `numberOfCpuCores` integer, required: Number of cores available to the build JVM.
          - `jreVersion` string, required: Version of the Java runtime executing the build.
          - `jvmVersion` string, required: Version of the Java Virtual Machine executing the build.
          - `jvmMaxMemoryHeapSize` integer, required: Maximum heap memory available to the build JVM in bytes.
          - `jvmCharset` string, nullable: The default charset of the JVM executing the build. `null` if capturing is not possible.
          - `jvmLocale` string, required: The locale of the JVM executing the build.
          - `publicHostname` string, nullable: The hostname of the build machine, as seen on the network. `null` if capturing is not possible.
          - `localHostname` string, nullable: The hostname of the build machine, as specified by itself. `null` if capturing is not possible.
          - `localIpAddresses` string[], nullable: The local IP addresses of the build machine. `null` if capturing is not possible.

## Other responses

- `400`: The request cannot be fulfilled due to a problem.
- `404`: The referenced resource either does not exist or the permissions to know about it are missing.
- `500`: The server encountered an unexpected error.
- `503`: The server is not ready to handle the request.

---

[API](https://skmtc.dev/develocity/apis/develocity-api.md) - [All operations](https://skmtc.dev/develocity/apis/develocity-api/llms.txt) - [OpenAPI document](https://skmtc.dev/develocity/apis/develocity-api/revisions/b49835fbf065?raw)
