Develocity API

The Develocity API is a JSON REST API, described with OpenAPI 3.0, for programmatic interaction with a Develocity instance — from configuration to inspecting build data. Endpoint groups cover Auth (short-lived access tokens), Builds (Gradle, Maven, npm, Python, sbt, Bazel build data and performance), Failures, Tests, Projects and Project Groups, Build Cache node configuration, Test Distribution agent pools, and Meta/version. Authentication uses a bearer Develocity access key or access token.

OpenAPI Specification

gradle-develocity-openapi.yaml Raw ↑
openapi: 3.0.3
info:
  title: Develocity API
  description: |
    The Develocity API allows programmatic interaction with various aspects of Develocity, from configuration to inspecting build data.
  version: "2026.2.0"
  license:
    name: Develocity License
    url: https://gradle.com/help/legal-gradle-software-license-agreement
  termsOfService: https://gradle.com/help/legal-terms-of-use
  contact:
    name: Gradle
    url: https://gradle.com
  x-logo:
    url: https://assets.gradle.com/logo/develocity-logo.svg
    altText: Develocity
servers:
  - url: https://develocity.example.com
    description: Your Develocity instance.
security:
  - DevelocityAccessKeyOrToken: []
tags:
  - name: Auth
    description: |
      Endpoints related to Develocity authentication and authorization. 
      The permissions required for these endpoints vary.
      Consult the endpoint descriptions.
  - name: Builds
    description: |
      Endpoints related to retrieving details of a build from the Develocity instance. 
      To access these endpoints the user requires the `Access build data via the API` permission.
  - name: BuildCache
    x-displayName: Build Cache
    description: |
      Endpoints related to configuring the Build Cache nodes of the Develocity instance.
      To access these endpoints the user requires the `Configure Build Caching` permission.
  - name: Comparison
    x-displayName: |
      Comparison (Beta)
    description: |
      Endpoints for comparing two builds to identify differences in work unit inputs, dependencies, and other dimensions.
      To access these endpoints the user requires the `Access build data via the API` permission.
  - name: Failures
    x-displayName: |
      Failures (Beta)
    description: |
      Endpoints related to retrieving details about failures of builds from the Develocity instance. 
      To access these endpoints the user requires the `Access build data via the API` permission.

      **<mark>Beta:</mark> _The Failures API is unstable and is likely to change in future._**
  - name: Projects
    x-displayName: |
      Projects (Beta)
    description: |
      Endpoints related to the management of project-level access control in Develocity.
      To access these endpoints the user requires the `Administer Projects` permission.

      **<mark>Beta:</mark> _The Projects API is unstable and is likely to change in future._**
  - name: Tests
    description: |
      Endpoints related to retrieving details of tests of the Develocity instance. 
      To access these endpoints the user requires the `Access build data via the API` permission.
      The Develocity installation also needs to have the Test Failure Analytics feature enabled.
  - name: Meta
    x-displayName: Meta
    description: |
      Endpoints related to the Develocity installation and its state.
  - name: TestDistribution
    x-displayName: Test Distribution
    description: |
      Endpoints related to the management of Test Distribution resources.
      To access these endpoints the user requires the `Admin` permission.
  - name: Develocity
    x-traitTag: true
    description: All endpoints of the Develocity API.
  - name: GradleEnterprise
    x-traitTag: true
    description: |
      **This tag is deprecated, use `Develocity` instead**.
      All endpoints of the Develocity API.
paths:
  /api/auth/revoke-signing-keys:
    post:
      operationId: RevokeSigningKeys
      summary: Revoke auth token signing keys
      description: Revokes the existing auth token signing keys, and creates a new one. Requires the `Configure operational settings` permission. All existing access tokens will become invalid. Develocity may take a few minutes to revoke all existing access tokens.
      tags:
        - Auth
        - GradleEnterprise
        - Develocity
      responses:
        '200':
          description: The existing signing keys have been revoked, all access tokens will become invalid shortly
        '400':
          $ref: '#/components/responses/BadRequestError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /api/auth/token:
    post:
      operationId: CreateAccessToken
      summary: Create a new access token
      description: Create a new short-lived access token, optionally limited to the provided permissions and projects. Users do not need any specific Develocity permission to do this, but must be authenticated. If an access key is used to authenticate this request, the created token will be limited to the user's permissions and projects. If an access token is used to authenticate this request, the created token will be limited to the authenticating token's permissions and projects and not live longer than the authenticating token's remaining lifetime. Query parameters can be used to further restrict the permissions of the access token. A 401 response will be sent if the request is not authenticated. A 403 response will be sent if one of the projects or permissions present in the query parameters is not assigned to this user. A 403 will also be sent if an access token is used to authenticate the request and the requested expiration date is after the authenticating access token's expiration.
      tags:
        - Auth
        - GradleEnterprise
        - Develocity
      parameters:
        - in: query
          name: projectIds
          schema:
            type: array
            uniqueItems: true
            items:
              $ref: '#/components/schemas/ProjectId'
          example:
            - project-a,project-b
            - project-c
          explode: true
          required: false
          description: Limit the created token to one or more projects. Values should be project ids. Comma seperated values and repeated parameters are supported.
        - in: query
          name: permissions
          schema:
            type: array
            uniqueItems: true
            items:
              $ref: '#/components/schemas/Permission'
          example:
            - publishScan,readCache
            - writeCache
          explode: true
          required: false
          description: Limit the created token to one or more permissions. Values should be permission [config values](https://gradle.com/help/helm-admin-permissions). Comma seperated values and repeated parameters are supported.
        - in: query
          name: expiresInHours
          schema:
            type: number
            format: float
            minimum: 0
            exclusiveMinimum: true
            maximum: 24
            default: 2
          example: 0.5
          required: false
          description: The lifetime of the created token, in hours.
      responses:
        '200':
          description: An access token
          content:
            text/plain:
              schema:
                type: string
              example: eyJraWQiOiJ0ZXN0LWtleSIsImFsZyI6IlJTMjU2IiwidHlwIjoiSldUIn0.eyJpc19hbm9ueW1vdXMiOmZhbHNlLCJwZXJtaXNzaW9ucyI6WyJSRUFEX1ZFUlNJT04iLCJFWFBPUlRfREFUQSIsIkFDQ0VTU19EQVRBX1dJVEhPVVRfQVNTT0NJQVRFRF9QUk9KRUNUIl0sInByb2plY3RzIjp7ImEiOjEsImIiOjJ9LCJ1c2VyX2lkIjoic29tZS1pZCIsInVzZXJuYW1lIjoidGVzdCIsImZpcnN0X25hbWUiOiJhIiwibGFzdF9uYW1lIjoidXNlciIsImVtYWlsIjoiYkBncmFkbGUuY29tIiwic3ViIjoidGVzdCIsImV4cCI6NzIwMCwibmJmIjowLCJpYXQiOjAsImF1ZCI6ImV4YW1wbGUuZ3JhZGxlLmNvbSIsImlzcyI6ImV4YW1wbGUuZ3JhZGxlLmNvbSIsInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4ifQ.H1_NEG1xuleP-WIAY_uvSmdd2o7i_-Ko3qhlo04zvCgrElJe7_F5jNuqsyDfnb5hvKlOe5UKG_7QPTgY9-3pFQ
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/AccessTokenForbidden'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /api/build-cache/nodes/{name}:
    parameters:
      - in: path
        name: name
        schema:
          type: string
        required: true
        description: The name of the Build Cache Node. To select the Built-in Build Cache Node, use `Built-in` as name.
    get:
      operationId: GetBuildCacheNode
      summary: View the configuration of a Build Cache Node.
      description: View the enablement status and replication configuration of a Build Cache Node.
      tags:
        - BuildCache
        - GradleEnterprise
        - Develocity
      responses:
        '200':
          description: The configuration of a Build Cache Node.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeConfiguration'
              example:
                enabled: false
                replication:
                  source: parent-node-1
                  preemptive: true
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    put:
      operationId: CreateOrUpdateBuildCacheNode
      summary: Create or update a Build Cache Node.
      description: |
        Create a new Build Cache Node in Develocity or update the configuration of an existing one.
        The Built-in Build Cache Node cannot be named as the target of this operation.
      tags:
        - BuildCache
        - GradleEnterprise
        - Develocity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NodeConfiguration'
            example:
              enabled: false
              replication:
                source: parent-node-1
                preemptive: true
      responses:
        '200':
          description: The name referenced an existing Build Cache Node and that Build Cache Node’s configuration was updated successfully.
        '201':
          description: A new Build Cache Node was created with the configuration specified in the request.
        '400':
          $ref: '#/components/responses/BadRequestError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /api/build-cache/nodes/{name}/purge:
    parameters:
      - in: path
        name: name
        schema:
          type: string
        required: true
        description: The name of the Build Cache Node. To select the Built-in Build Cache Node, use `Built-in` as name.
    post:
      operationId: InitiatePurgeOfBuildCacheNode
      summary: Deletes all entries from a Build Cache Node.
      description: |
        Triggers the deletion of all entries stored at the named Build Cache Node.
      tags:
        - BuildCache
        - GradleEnterprise
        - Develocity
      responses:
        '202':
          description: Purging the Build Cache Node was successfully initiated.
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
        '503':
          $ref: '#/components/responses/NodeNotSignedInError'
  /api/build-cache/nodes/{name}/secret:
    parameters:
      - in: path
        name: name
        schema:
          type: string
        required: true
        description: The name of the Build Cache Node.
    post:
      operationId: RegenerateSecretOfBuildCacheNode
      summary: Regenerate the secret of a Build Cache Node.
      description: |
        Regenerates the secret associated with the named Build Cache Node. The old secret expires immediately, causing the Build Cache Node to
        disconnect from Develocity. The Built-in Build Cache Node cannot be named as the target of this operation.
      tags:
        - BuildCache
        - GradleEnterprise
        - Develocity
      responses:
        '200':
          description: The name referenced an existing Build Cache Node and that Build Cache Node's secret was regenerated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeySecretPair'
              example:
                key: cvzxztkqkqxzc3vcruabpcr264
                secret: e5ag76yp6abcc5jbxusboca313
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /api/builds:
    description: |
      Returns a list of builds with common attributes.
      The returned list is capped by the `maxBuilds` and `maxWaitSecs` query parameters.
      This endpoint supports pagination by using the `fromBuild` or `sinceBuild` query parameters, and the last returned build from a previous call to one of these endpoints.
    parameters:
      - in: query
        name: BuildsQuery
        explode: true
        description: The query parameters used to retrieve the list of builds.
        schema:
          title: BuildsQuery
          type: object
          properties:
            fromInstant:
              type: integer
              format: int64
              minimum: 0
              nullable: true
              description: |
                A unix-epoch-time in milliseconds allowing to retrieve builds for which Develocity completed receiving and processing the build after this instant when used in conjunction with `reverse=false`, or before this instant when used in conjunction with `reverse=true`.
                Therefore, a value of `0` will process all builds.
                If not provided, the time in milliseconds when the request is received by the Develocity instance will be used.
                This parameter has no effect if `fromBuild` is used.
            fromBuild:
              type: string
              nullable: true
              description: |
                A Build Scan ID allowing to retrieve builds for which Develocity completed receiving and processing after the given Build Scan ID (excluding it) when used in conjunction with `reverse=false`, or before the given Build Scan ID (excluding it) when used in conjunction with `reverse=true`.
                This parameter has precedence over any value set for the `since`, `sinceBuild`, `fromInstant` parameters.
                A valid Build Scan ID must be provided, that is, a Build Scan ID that exists in the Develocity instance.
                A Build Scan ID for a deleted build is valid.
            reverse:
              type: boolean
              nullable: true
              description: |
                A boolean indicating the time direction of the query.
                A value of `true` indicates a backward query, and returned builds will be sorted from most to least recent.
                A value of `false` indicates a forward query, and returned builds will be sorted from least to most recent.
                This parameter has no effect if any of `since`, `sinceBuild` are used.
                If not provided, the default value is `false`.
            maxBuilds:
              type: integer
              minimum: 0
              maximum: 1000
              nullable: true
              description: |
                The maximum number of builds returned by the query.
                The query returns when that number is reached or when `maxWaitSecs` is reached.
                If not provided, the default value is `100`.
            maxWaitSecs:
              type: integer
              minimum: 1
              maximum: 20
              nullable: true
              description: |
                The maximum number of seconds to wait for builds before returning.
                If this time is reached before `maxBuilds` is reached, the query returns with the already processed builds.
                Note that this time is respected with best effort.
                A query will return soon after this time has passed but there is no guarantee that it exactly returns before this time has passed.
                This parameter has no effect if `reverse=true` is specified, because new builds cannot become available in the past.
                If not provided, the default value is `3`.
            query:
              type: string
              nullable: true
              description: |
                A query for filtering builds, written in the Develocity advanced search query language
                See: https://gradle.com/help/advanced-search
            models:
              $ref: '#/components/schemas/BuildModelNames'
            allModels:
              type: boolean
              default: false
              description: |
                Whether to include all build models for each build.
                If set to `true`, the value of the `models` parameter is ignored.
            since:
              type: integer
              format: int64
              minimum: 0
              nullable: true
              description: |
                **This parameter is deprecated, use `fromInstant` instead.**
                A unix-epoch-time in milliseconds allowing to retrieve builds for which Develocity completed receiving and processing the build after this instant.
                This parameter can only be used with `reverse=false`.
                Therefore, a value of `0` will process all builds.
                If not provided, the time in milliseconds when the request is received by the Develocity instance will be used.
                This parameter has no effect if any of `sinceBuild`, `fromInstant`, `fromBuild` are used.
              deprecated: true
            sinceBuild:
              type: string
              nullable: true
              description: |
                **This parameter is deprecated, use `fromBuild` instead.**
                A Build Scan ID allowing to retrieve builds for which Develocity completed receiving and processing after the given Build Scan ID (excluding it).
                This parameter can only be used with `reverse=false`.
                This parameter has precedence over any value set for the `since` parameter.
                A valid Build Scan ID must be provided, that is, a Build Scan ID that exists in the Develocity instance.
                A Build Scan ID for a deleted build is valid.
                This parameter has no effect if any of `fromInstant`, `fromBuild` are used.
              deprecated: true
            skipUnavailableModels:
              type: boolean
              default: false
              description: |
                Will skip build models that are not available at the time of the handling of the call.
    get:
      operationId: GetBuilds
      summary: Get a list of builds with common attributes.
      description: |
        The contained attributes are build tool agnostic.
        If none of `fromInstant`, `fromBuild`, or `reverse` is used, when making a request to this endpoint, it will return builds that were received and processed by Develocity after the request was made.
      tags:
        - Builds
        - GradleEnterprise
        - Develocity
      responses:
        '200':
          description: A list of builds with common attributes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Builds'
              example:
                - id: 9r4d13f0r3v3r
                  availableAt: 1635400481000
                  buildToolType: gradle
                  buildToolVersion: '7.2'
                  buildAgentVersion: 3.7.1
                  models:
                    gradleAttributes:
                      model:
                        id: 9r4d13f0r3v3r
                        buildStartTime: 1637316480
                        buildDuration: 5000
                        gradleVersion: '7.3'
                        pluginVersion: 3.7.2
                        rootProjectName: example-project
                        requestedTasks:
                          - clean
                          - build
                        hasFailed: true
                        hasVerificationFailure: true
                        hasNonVerificationFailure: true
                        tags:
                          - CI
                          - feature-branch
                        values:
                          - name: branch
                            value: feature/one
                          - name: commitId
                            value: c874006021712affa4e7bd82d2ec4cd06beaa4f5
                        links:
                          - label: CI job
                            url: https://ci.com/job1
                          - label: GIT commit
                            url: https://git.com/c874006021712affa4e7bd82d2ec4cd06beaa4f5
                        gradleEnterpriseSettings:
                          backgroundPublicationEnabled: true
                          buildOutputCapturingEnabled: true
                          taskInputsFileCapturingEnabled: true
                          testOutputCapturingEnabled: true
                          resourceUsageCapturingEnabled: true
                        develocitySettings:
                          backgroundPublicationEnabled: true
                          buildOutputCapturingEnabled: true
                          fileFingerprintCapturingEnabled: true
                          taskInputsFileCapturingEnabled: true
                          testOutputCapturingEnabled: true
                          resourceUsageCapturingEnabled: true
                        buildOptions:
                          buildCacheEnabled: true
                          configurationCacheEnabled: true
                          configurationOnDemandEnabled: true
                          continuousBuildEnabled: true
                          continueOnFailureEnabled: true
                          daemonEnabled: true
                          dryRunEnabled: true
                          excludedTasks:
                            - takesALongTime
                            - doesNotLikeToBeExecuted
                          fileSystemWatchingEnabled: true
                          maxNumberOfGradleWorkers: 4
                          offlineModeEnabled: true
                          parallelProjectExecutionEnabled: true
                          refreshDependenciesEnabled: true
                          rerunTasksEnabled: true
                        environment:
                          username: gradle
                          operatingSystem: macOS 12.2.1 (x86_64)
                          numberOfCpuCores: 16
                          jreVersion: AdoptOpenJDK OpenJDK Runtime Environment 11.0.11+9
                          jvmVersion: AdoptOpenJDK OpenJDK 64-Bit Server VM 11.0.11+9 (mixed mode)
                          jvmMaxMemoryHeapSize: 16777216
                          jvmCharset: UTF-8
                          jvmLocale: English (United States)
                          publicHostname: agent.gradle.com
                          localHostname: gradle
                          localIpAddresses:
                            - 192.168.1.126
                            - 192.168.1.128
                    gradleDependencies:
                      model:
                        dependencies:
                          - scheme: pkg
                            type: maven
                            namespace: org.apache.xmlgraphics
                            name: batik-anim
                            version: 1.9.1
                            qualifiers:
                              repository_url: https://repo.maven.apache.org/maven2/
                            purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F
                            repository:
                              url: https://repo.maven.apache.org/maven2/
                              type: maven
                              resolutionSource: remote
                    mavenAttributes:
                      problem:
                        type: urn:gradle:enterprise:api:problems:build-model-not-applicable
                        title: Build model is not applicable.
                        detail: Build model is not available for build with ID '9r4d13f0r3v3r' because its build tool type is 'gradle' (allowed list is '[maven]').
                        status: 400
                - id: ji7vz3ey5qdvk
                  availableAt: 1635400482000
                  buildToolType: maven
                  buildToolVersion: 3.8.4
                  buildAgentVersion: '1.13'
                  models:
                    gradleAttributes:
                      problem:
                        type: urn:gradle:enterprise:api:problems:build-model-not-applicable
                        title: Build model is not applicable.
                        detail: Build model is not available for build with ID 'ji7vz3ey5qdvk' because its build tool type is 'maven' (allowed list is '[gradle]').
                        status: 400
                    mavenAttributes:
                      model:
                        id: 9r4d13f0r3v3r
                        buildStartTime: 1637316480
                        buildDuration: 11000
                        mavenVersion: 3.8.4
                        extensionVersion: 1.11.1
                        topLevelProjectName: example-project
                        requestedGoals:
                          - clean
                          - verify
                        hasFailed: true
                        hasVerificationFailure: true
                        hasNonVerificationFailure: true
                        tags:
                          - CI
                          - feature-branch
                        values:
                          - name: branch
                            value: feature/one
                          - name: commitId
                            value: c874006021712affa4e7bd82d2ec4cd06beaa4f5
                        links:
                          - label: CI job
                            url: https://ci.com/job1
                          - label: GIT commit
                            url: https://git.com/c874006021712affa4e7bd82d2ec4cd06beaa4f5
                        develocitySettings:
                          backgroundPublicationEnabled: true
                          buildOutputCapturingEnabled: true
                          fileFingerprintCapturingEnabled: true
                          goalInputsFileCapturingEnabled: true
                          testOutputCapturingEnabled: true
                          resourceUsageCapturingEnabled: true
                        buildOptions:
                          batchModeEnabled: true
                          debugEnabled: true
                          errorsEnabled: true
                          failAtEndEnabled: true
                          failFastEnabled: true
                          failNeverEnabled: true
                          laxChecksumsEnabled: true
                          maxNumberOfThreads: 4
                          nonRecursiveEnabled: true
                          noSnapshotsUpdatesEnabled: true
                          offlineModeEnabled: true
                          quietEnabled: true
                          rerunGoals: false
                          strictChecksumsEnabled: true
                          updateSnapshotsEnabled: true
                        environment:
                          username: maven
                          operatingSystem: macOS 12.2.1 (x86_64)
                          numberOfCpuCores: 16
                          jreVersion: AdoptOpenJDK OpenJDK Runtime Environment 11.0.11+9
                          jvmVersion: AdoptOpenJDK OpenJDK 64-Bit Server VM 11.0.11+9 (mixed mode)
                          jvmMaxMemoryHeapSize: 16777216
                          jvmCharset: UTF-8
                          jvmLocale: English (United States)
                          publicHostname: agent.gradle.com
                          localHostname: maven
                          localIpAddresses:
                            - 192.168.1.126
                            - 192.168.1.128
                        gradleEnterpriseSettings:
                          backgroundPublicationEnabled: true
                          buildOutputCapturingEnabled: true
                          goalInputsFileCapturingEnabled: true
                          testOutputCapturingEnabled: true
                          resourceUsageCapturingEnabled: true
                    mavenDependencies:
                      model:
                        dependencies:
                          - scheme: pkg
                            type: maven
                            namespace: org.apache.xmlgraphics
                            name: batik-anim
                            version: 1.9.1
                            qualifiers:
                              repository_url: https://repo.maven.apache.org/maven2/
                              type: jar
                            purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F&type=jar
                            repository:
                              url: https://repo.maven.apache.org/maven2/
                              type: maven
                              resolutionSource: remote
                - id: cvpd4j7ug7j4q
                  availableAt: 1635400483000
                  buildToolType: bazel
                  buildToolVersion: 6.0.0
                  buildAgentVersion: '1.0'
                  models:
                    gradleAttributes:
                      problem:
                        type: urn:gradle:enterprise:api:problems:build-model-not-applicable
                        title: Build model is not applicable.
                        detail: Build model is not available for build with ID 'cvpd4j7ug7j4q' because its build tool type is 'bazel' (allowed list is '[gradle]').
                        status: 400
                    mavenAttributes:
                      problem:
                        type: urn:gradle:enterprise:api:problems:build-model-not-applicable
                        title: Build model is not applicable.
                        detail: Build model is not available for build with ID 'cvpd4j7ug7j4q' because its build tool type is 'bazel' (allowed list is '[maven]').
                        status: 400
        '400':
          $ref: '#/components/responses/BadRequestError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
        '503':
          $ref: '#/components/responses/NotReadyError'
  /api/builds/{id}:
    parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: The Build Scan ID.
      - in: query
        name: BuildQuery
        explode: true
        description: The query parameters used to retrieve the common attributes of a build.
        schema:
          $ref: '#/components/schemas/BuildQuery'
    get:
      operationId: GetBuild
      summary: Get the common attributes of a build.
      description: The contained attributes are build tool agnostic.
      tags:
        - Builds
        - GradleEnterprise
        - Develocity
      responses:
        '200':
          description: The common attributes of a build.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
              example:
                id: 9r4d13f0r3v3r
                availableAt: 1635400481000
                buildToolType: gradle
                buildToolVersion: '7.2'
                buildAgentVersion: 3.7.1
                models:
                  gradleAttributes:
                    model:
                      id: 9r4d13f0r3v3r
                      buildStartTime: 1637316480
                      buildDuration: 5000
                      gradleVersion: '7.3'
                      pluginVersion: 3.7.2
                      rootProjectName: example-project
                      requestedTasks:
                        - clean
                        - build
                      hasFailed: true
                      hasVerificationFailure: true
                      hasNonVerificationFailure: true
                      tags:
                        - CI
                        - feature-branch
                      values:
                        - name: branch
                          value: feature/one
                        - name: commitI

# --- truncated at 32 KB (406 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gradle/refs/heads/main/openapi/gradle-develocity-openapi.yaml