diff --git a/convention-develocity-maven-extension/examples/maven_3/pom.xml b/convention-develocity-maven-extension/examples/maven_3/pom.xml
index 134ad994a..9eb33d66e 100644
--- a/convention-develocity-maven-extension/examples/maven_3/pom.xml
+++ b/convention-develocity-maven-extension/examples/maven_3/pom.xml
@@ -13,4 +13,82 @@
UTF-8
+
+
+ javax.annotation
+ javax.annotation-api
+ 1.3.2
+
+
+ com.google.code.findbugs
+ jsr305
+ 3.0.2
+
+
+ com.squareup.okio
+ okio
+ 3.10.2
+
+
+ com.squareup.okhttp3
+ okhttp
+ 4.12.0
+
+
+ com.squareup.okhttp3
+ logging-interceptor
+ 4.12.0
+
+
+ com.google.code.gson
+ gson
+ 2.13.0
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ 2.18.3
+
+
+ io.gsonfire
+ gson-fire
+ 1.9.0
+
+
+ org.openapitools
+ jackson-databind-nullable
+ 0.2.6
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.0
+
+ 11
+ 11
+
+
+
+ org.openapitools
+ openapi-generator-maven-plugin
+ 7.12.0
+
+
+
+ generate
+
+
+ ${project.basedir}/src/main/resources/develocity-2025.1-api.yaml
+ java
+
+
+
+
+
+
+
diff --git a/convention-develocity-maven-extension/examples/maven_3/src/main/resources/develocity-2025.1-api.yaml b/convention-develocity-maven-extension/examples/maven_3/src/main/resources/develocity-2025.1-api.yaml
new file mode 100644
index 000000000..115ff83d0
--- /dev/null
+++ b/convention-develocity-maven-extension/examples/maven_3/src/main/resources/develocity-2025.1-api.yaml
@@ -0,0 +1,7718 @@
+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: "2025.1"
+ 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://dv.mycompany.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 caches` permission.
+ - 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.
+
+ **Beta: _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/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. 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 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'
+ '403':
+ $ref: '#/components/responses/AccessTokenForbidden'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ /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 `Administer Develocity` 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/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
+ 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
+ purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1
+ 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:
+ type: jar
+ purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?type=jar
+ - 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: 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
+ 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
+ gradleEnterpriseSettings:
+ backgroundPublicationEnabled: true
+ buildOutputCapturingEnabled: true
+ taskInputsFileCapturingEnabled: true
+ testOutputCapturingEnabled: true
+ resourceUsageCapturingEnabled: true
+ gradleDependencies:
+ model:
+ dependencies:
+ - scheme: pkg
+ type: maven
+ namespace: org.apache.xmlgraphics
+ name: batik-anim
+ version: 1.9.1
+ purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-attributes:
+ 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 attributes of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleAttributes
+ summary: Get the attributes of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The attributes of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleAttributes'
+ example:
+ 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
+ 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
+ gradleEnterpriseSettings:
+ backgroundPublicationEnabled: true
+ buildOutputCapturingEnabled: true
+ taskInputsFileCapturingEnabled: true
+ testOutputCapturingEnabled: true
+ resourceUsageCapturingEnabled: true
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-attributes:
+ 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 attributes of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenAttributes
+ summary: Get the attributes of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The attributes of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenAttributes'
+ example:
+ 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
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/bazel-attributes:
+ 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 attributes of a Bazel build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetBazelAttributes
+ summary: Get the attributes of a Bazel build.
+ description: This model is Bazel specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The attributes of a Bazel build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BazelAttributes'
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/npm-attributes:
+ 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 attributes of an npm build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetNpmAttributes
+ summary: Get the attributes of an npm build.
+ description: This model is npm specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The attributes of an npm build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NpmAttributes'
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/python-attributes:
+ 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 attributes of a Python build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetPythonAttributes
+ summary: Get the attributes of a Python build.
+ description: This model is Python specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The attributes of a Python build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PythonAttributes'
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/sbt-attributes:
+ 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 attributes of an sbt build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetSbtAttributes
+ summary: Get the attributes of an sbt build.
+ description: This model is sbt specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The attributes of an sbt build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SbtAttributes'
+ example:
+ id: 9r4d13f0r3v3r
+ buildStartTime: 1637316480
+ buildDuration: 11000
+ sbtVersion: 1.10.7
+ pluginVersion: 1.1.2
+ rootProjectName: example-project
+ requestedCommands:
+ - clean
+ - package
+ 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
+ resourceUsageCapturingEnabled: true
+ buildOptions:
+ useCoursierEnabled: true
+ offlineModeEnabled: false
+ turboEnabled: true
+ parallelExecutionEnabled: true
+ semanticDbScalacPluginEnabled: false
+ interactiveModeEnabled: false
+ environment:
+ username: sbt
+ 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: sbt
+ localIpAddresses:
+ - 192.168.1.126
+ - 192.168.1.128
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-test-performance:
+ 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 attributes of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleTestPerformance
+ summary: Get test performance-related metrics of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: Test performance-related metrics of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleTestPerformance'
+ example:
+ tests:
+ testClassesCount: 20
+ serialTestTasksExecutionTime: 7000
+ testAcceleration:
+ predictiveTestSelection:
+ usage:
+ status: enabled
+ wallClockSavings: 750
+ serialTimeSavings: 750
+ simulation:
+ conservative:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ workUnitFailuresPredictedCount: 30
+ workUnitFailuresMissedCount: 40
+ avoidableTestClassesCount: 50
+ unavoidableTestClassesCount: 60
+ testClassesCountSelectedDueToInsufficientData: 70
+ standard:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ workUnitFailuresPredictedCount: 30
+ workUnitFailuresMissedCount: 40
+ avoidableTestClassesCount: 50
+ unavoidableTestClassesCount: 60
+ testClassesCountSelectedDueToInsufficientData: 70
+ fast:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ workUnitFailuresPredictedCount: 30
+ workUnitFailuresMissedCount: 40
+ avoidableTestClassesCount: 50
+ unavoidableTestClassesCount: 60
+ testClassesCountSelectedDueToInsufficientData: 70
+ testDistribution:
+ usageStatus: enabled
+ wallClockSavings: 850
+ wallClockSavings: 1250
+ testTasks:
+ - taskPath: ':proj1:test'
+ taskType: org.gradle.api.tasks.testing.Test
+ wallClockExecutionTime: 2000
+ serialExecutionTime: 3000
+ tests:
+ failedTestClassesCount: 5
+ testClassesCount: 10
+ testAcceleration:
+ predictiveTestSelection:
+ usage:
+ status: enabled
+ wallClockSavings: 750
+ serialTimeSavings: 750
+ nonSelectedTestClassesCount: 1
+ simulation:
+ conservative:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ standard:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ fast:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ testDistribution:
+ usageStatus: enabled
+ wallClockSavings: 850
+ remoteTestClassesCount: 3
+ wallClockSavings: 1250
+ - taskPath: ':proj2:test'
+ taskType: org.gradle.api.tasks.testing.Test
+ wallClockExecutionTime: 3000
+ serialExecutionTime: 4000
+ tests:
+ failedTestClassesCount: 5
+ testClassesCount: 10
+ testAcceleration:
+ predictiveTestSelection:
+ usage:
+ status: enabled
+ wallClockSavings: 750
+ serialTimeSavings: 750
+ nonSelectedTestClassesCount: 1
+ simulation:
+ conservative:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ standard:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ fast:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ testDistribution:
+ usageStatus: enabled
+ wallClockSavings: 850
+ remoteTestClassesCount: 3
+ wallClockSavings: 1250
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-test-performance:
+ 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 attributes of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenTestPerformance
+ summary: Get test performance-related metrics of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: Test performance-related metrics of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenTestPerformance'
+ example:
+ tests:
+ testClassesCount: 20
+ serialTestGoalsExecutionTime: 7000
+ testAcceleration:
+ predictiveTestSelection:
+ usage:
+ status: enabled
+ wallClockSavings: 750
+ serialTimeSavings: 750
+ simulation:
+ conservative:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ workUnitFailuresPredictedCount: 30
+ workUnitFailuresMissedCount: 40
+ avoidableTestClassesCount: 50
+ unavoidableTestClassesCount: 60
+ testClassesCountSelectedDueToInsufficientData: 70
+ standard:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ workUnitFailuresPredictedCount: 30
+ workUnitFailuresMissedCount: 40
+ avoidableTestClassesCount: 50
+ unavoidableTestClassesCount: 60
+ testClassesCountSelectedDueToInsufficientData: 70
+ fast:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ workUnitFailuresPredictedCount: 30
+ workUnitFailuresMissedCount: 40
+ avoidableTestClassesCount: 50
+ unavoidableTestClassesCount: 60
+ testClassesCountSelectedDueToInsufficientData: 70
+ testDistribution:
+ usageStatus: enabled
+ wallClockSavings: 850
+ wallClockSavings: 1250
+ testGoals:
+ - goalPath: surefire:test
+ goalType: org.apache.maven.plugin.surefire.SurefireMojo
+ wallClockExecutionTime: 2000
+ serialExecutionTime: 3000
+ tests:
+ failedTestClassesCount: 5
+ testClassesCount: 10
+ testAcceleration:
+ predictiveTestSelection:
+ usage:
+ status: enabled
+ wallClockSavings: 750
+ serialTimeSavings: 750
+ nonSelectedTestClassesCount: 1
+ simulation:
+ conservative:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ standard:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ fast:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ testDistribution:
+ usageStatus: enabled
+ wallClockSavings: 850
+ remoteTestClassesCount: 3
+ wallClockSavings: 1250
+ - goalPath: failsafe:test
+ goalType: org.apache.maven.plugin.failsafe.IntegrationTestMojo
+ wallClockExecutionTime: 3000
+ serialExecutionTime: 4000
+ tests:
+ failedTestClassesCount: 5
+ testClassesCount: 10
+ testAcceleration:
+ predictiveTestSelection:
+ usage:
+ status: enabled
+ wallClockSavings: 750
+ serialTimeSavings: 750
+ nonSelectedTestClassesCount: 1
+ simulation:
+ conservative:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ standard:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ fast:
+ wallClockSavingsPotential: 10
+ serialTimeSavingsPotential: 20
+ avoidableTestClassesCount: 30
+ unavoidableTestClassesCount: 40
+ testClassesCountSelectedDueToInsufficientData: 50
+ failedTestClassesPredictedCount: 60
+ testDistribution:
+ usageStatus: enabled
+ wallClockSavings: 850
+ remoteTestClassesCount: 3
+ wallClockSavings: 1250
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-build-cache-performance:
+ 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 build cache performance of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleBuildCachePerformance
+ summary: Get the build cache performance of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The build cache performance of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleBuildCachePerformance'
+ example:
+ id: 9r4d13f0r3v3r
+ buildTime: 5000
+ effectiveTaskExecutionTime: 5000
+ effectiveWorkUnitExecutionTime: 5000
+ serialTaskExecutionTime: 10000
+ serialWorkUnitExecutionTime: 10000
+ serializationFactor: 2
+ taskExecution:
+ - taskPath: ':task'
+ taskType: org.gradle.api.tasks.Task
+ avoidanceOutcome: avoided_from_local_cache
+ duration: 5000
+ fingerprintingDuration: 5
+ avoidanceSavings: 6000
+ cacheArtifactSize: 3000
+ - taskPath: ':task2'
+ taskType: org.gradle.api.tasks.Task
+ avoidanceOutcome: avoided_from_remote_cache
+ duration: 3000
+ fingerprintingDuration: 3
+ avoidanceSavings: 4000
+ cacheArtifactSize: 3000
+ - taskPath: ':task3'
+ taskType: org.gradle.api.tasks.Task
+ avoidanceOutcome: executed_not_cacheable
+ duration: 2000
+ fingerprintingDuration: 6
+ nonCacheabilityCategory: cache-if_condition_not_matched
+ nonCacheabilityReason: '''Task outputs cacheable'' not satisfied'
+ - taskPath: ':task4'
+ taskType: org.gradle.api.tasks.Task
+ avoidanceOutcome: skipped
+ duration: 0
+ fingerprintingDuration: 0
+ skipReasonMessage: some skip reason message
+ taskFingerprintingSummary:
+ count: 1
+ serialDuration: 8
+ workUnitFingerprintingSummary:
+ count: 5
+ serialDuration: 20
+ avoidanceSavingsSummary:
+ total: 10000
+ ratio: 0.55556
+ upToDate: 0
+ localBuildCache: 6000
+ remoteBuildCache: 4000
+ taskAvoidanceSavingsSummary:
+ total: 10000
+ ratio: 0.55556
+ upToDate: 0
+ localBuildCache: 6000
+ remoteBuildCache: 4000
+ workUnitAvoidanceSavingsSummary:
+ total: 20000
+ ratio: 0.75556
+ upToDate: 1
+ localBuildCache: 9000
+ remoteBuildCache: 2000
+ buildCaches:
+ local:
+ isEnabled: true
+ isPushEnabled: true
+ isDisabledDueToError: false
+ remote:
+ type: HTTP
+ className: org.example.MyBuildCache
+ isEnabled: true
+ isPushEnabled: true
+ isDisabledDueToError: false
+ overhead:
+ uploading: 100
+ downloading: 200
+ packing: 50
+ unpacking: 25
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-build-cache-performance:
+ 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 build cache performance of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenBuildCachePerformance
+ summary: Get the build cache performance of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The build cache performance of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenBuildCachePerformance'
+ example:
+ id: 9r4d13f0r3v3r
+ buildTime: 5000
+ effectiveProjectExecutionTime: 5000
+ serialProjectExecutionTime: 10000
+ serializationFactor: 2
+ goalExecution:
+ - goalName: clean:clean
+ mojoType: org.apache.maven.plugin.jar.JarMojo
+ goalExecutionId: default-clean
+ goalProjectName: myproject
+ avoidanceOutcome: executed_not_cacheable
+ duration: 2000
+ nonCacheabilityCategory: build_cache_disabled_by_user
+ nonCacheabilityReason: Neither the local or remote build cache were enabled in the configuration of the build.
+ - goalName: compiler:compile
+ mojoType: org.apache.maven.plugin.jar.JarMojo
+ goalExecutionId: default-compile
+ goalProjectName: myproject
+ avoidanceOutcome: avoided_from_local_cache
+ duration: 5000
+ fingerprintingDuration: 5
+ avoidanceSavings: 6000
+ cacheArtifactSize: 3000
+ - goalName: compiler:compile
+ mojoType: org.apache.maven.plugin.jar.JarMojo
+ goalExecutionId: default-compile
+ goalProjectName: myproject2
+ avoidanceOutcome: avoided_from_remote_cache
+ duration: 3000
+ fingerprintingDuration: 3
+ avoidanceSavings: 4000
+ cacheArtifactSize: 3000
+ goalFingerprintingSummary:
+ count: 1
+ serialDuration: 8
+ avoidanceSavingsSummary:
+ total: 10000
+ ratio: 0.55556
+ localBuildCache: 6000
+ remoteBuildCache: 4000
+ buildCaches:
+ local:
+ isEnabled: true
+ isDisabledDueToError: false
+ remote:
+ isEnabled: true
+ isPushEnabled: true
+ isDisabledDueToError: false
+ overhead:
+ uploading: 100
+ downloading: 200
+ packing: 50
+ unpacking: 25
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-projects:
+ 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 build structure of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleProjects
+ summary: Get the projects of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The projects of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleProjects'
+ example:
+ - name: root project
+ path: ':'
+ - name: sub project
+ path: ':sub'
+ parent: 0
+ - name: included build root project
+ path: ':included'
+ - name: included build sub project
+ path: ':included:sub'
+ parent: 2
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-modules:
+ 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 build structure of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenModules
+ summary: Get the modules of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The modules of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenModules'
+ example:
+ - name: top level project
+ groupId: com
+ artifactId: top-level
+ version: '1.0'
+ - name: sub project a
+ groupId: com
+ artifactId: sub-a
+ version: '1.1'
+ parent: 0
+ - name: sub project b
+ groupId: com
+ artifactId: sub-b
+ version: '2.0'
+ parent: 0
+ - name: sub project a 2
+ groupId: com
+ artifactId: sub-a-a
+ version: 2.1-SNAPSHOT
+ parent: 1
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-network-activity:
+ 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 network activity of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleNetworkActivity
+ summary: Get the network activity of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool. This model is only available starting with Gradle version 3.5 and Develocity Gradle Plugin version 1.6.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The network activity of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleNetworkActivity'
+ example:
+ networkRequestCount: 20
+ serialNetworkRequestTime: 500
+ wallClockNetworkRequestTime: 25
+ fileDownloadCount: 18
+ fileDownloadSize: 2049
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-dependency-resolution:
+ 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 dependency resolution of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenDependencyResolution
+ summary: Get information about the dependency resolution of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool. This model is only available starting with the Develocity Maven Extension version 1.9.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: Information about the dependency resolution of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenDependencyResolution'
+ example:
+ networkRequestCount: 10
+ serialNetworkRequestTime: 1000
+ wallClockNetworkRequestTime: 50
+ fileDownloadSize: 1025
+ fileDownloadCount: 8
+ serialDependencyResolutionTime: 40
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-artifact-transform-executions:
+ 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 artifact transform execution list of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleArtifactTransformExecutions
+ summary: Get the artifact transform execution list of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The artifact transform execution list of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleArtifactTransformExecutions'
+ example:
+ artifactTransformExecutions:
+ - artifactTransformExecutionName: project :lib [color=green]
+ transformActionType: com.test.MakeColor
+ inputArtifactName: lib.jar
+ changedAttributes:
+ - name: color
+ from: blue
+ to: green
+ outcome: success
+ avoidanceOutcome: executed_cacheable
+ duration: 224
+ fingerprintingDuration: 1
+ cacheArtifactSize: 470
+ cacheKey: 34025cdc0be090f2901543d673b3c45e
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-deprecations:
+ 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 deprecations for a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleDeprecations
+ summary: Get the Gradle Build Tool deprecations of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The deprecation list of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleDeprecations'
+ example:
+ deprecations:
+ - summary: Task deprecatedTask2 has been deprecated.
+ removalDetails: This is scheduled to be removed in Gradle 9.0.
+ advice: Do not trigger deprecatedTask2 task.
+ usages:
+ - owner:
+ location: core/core.gradle
+ type: script
+ - summary: CoorpPlugin has been deprecated.
+ removalDetails: This is scheduled to be removed in Gradle 9.0.
+ advice: Use non deprecated plugin instead.
+ documentationUrl: https://docs.gradle.org/8.5/userguide/coorpplugin2.html
+ usages:
+ - contextualAdvice: Use CoorpPlugin2 for build-with-deprecations instead.
+ owner:
+ location: org.acme.coorp-plugin
+ type: plugin
+ - contextualAdvice: Use CoorpPlugin2 for utils instead.
+ owner:
+ location: org.acme.coorp-plugin
+ type: plugin
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-plugins:
+ 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 plugins for a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradlePlugins
+ summary: Get the plugins of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The list of plugins in a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradlePlugins'
+ example:
+ plugins:
+ - id: example-plugin-name
+ className: org.example.ExamplePlugin
+ version: 1.0.1
+ projects:
+ - ':'
+ - ':sub'
+ - id: example-plugin2-name
+ className: org.example.ExamplePlugin2
+ projects:
+ - ':'
+ - id: SomeOtherPlugin
+ className: org.example.SomeOtherPlugin
+ version: 2.0.0
+ projects: []
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-plugins:
+ 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 plugins of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenPlugins
+ summary: Get the plugins of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The plugin list of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenPlugins'
+ example:
+ plugins:
+ - groupId: org.example
+ artifactId: plugin-id
+ name: Example Plugin
+ version: 1.0.1
+ executedGoals: []
+ modules:
+ - com.example:top-level
+ - com:example:sub-level
+ goalPrefix: prefix
+ requiredMavenVersion: 3.0.0
+ - groupId: org.example
+ artifactId: plugin-with-no-name
+ version: 2.0.1
+ executedGoals:
+ - generate
+ modules:
+ - com.example:top-level
+ goalPrefix: test
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-resource-usage:
+ 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 resource usage of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleResourceUsage
+ summary: Get the resource usage of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The resource usage of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleResourceUsage'
+ example:
+ total:
+ allProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildProcessCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildChildProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ allProcessesMemory:
+ max: 42949672960
+ average: 21474836480
+ median: 21474836480
+ p5: 1073741824
+ p25: 1073741824
+ p75: 21474836480
+ p95: 21474836480
+ buildProcessMemory:
+ max: 10737418240
+ average: 10737418240
+ median: 10737418240
+ p5: 10737418240
+ p25: 10737418240
+ p75: 10737418240
+ p95: 10737418240
+ buildChildProcessesMemory:
+ max: 2147483648
+ average: 2147483648
+ median: 2147483648
+ p5: 2147483648
+ p25: 2147483648
+ p75: 2147483648
+ p95: 2147483648
+ diskReadThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ diskWriteThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ networkUploadThroughput:
+ max: 500
+ average: 300
+ median: 200
+ p5: 1
+ p25: 250
+ p75: 350
+ p95: 450
+ networkDownloadThroughput:
+ max: 800
+ average: 200
+ median: 100
+ p5: 10
+ p25: 300
+ p75: 500
+ p95: 600
+ nonExecution:
+ allProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildProcessCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildChildProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ allProcessesMemory:
+ max: 42949672960
+ average: 21474836480
+ median: 21474836480
+ p5: 1073741824
+ p25: 1073741824
+ p75: 21474836480
+ p95: 21474836480
+ buildProcessMemory:
+ max: 10737418240
+ average: 10737418240
+ median: 10737418240
+ p5: 10737418240
+ p25: 10737418240
+ p75: 10737418240
+ p95: 10737418240
+ buildChildProcessesMemory:
+ max: 2147483648
+ average: 2147483648
+ median: 2147483648
+ p5: 2147483648
+ p25: 2147483648
+ p75: 2147483648
+ p95: 2147483648
+ diskReadThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ diskWriteThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ networkUploadThroughput:
+ max: 500
+ average: 300
+ median: 200
+ p5: 1
+ p25: 250
+ p75: 350
+ p95: 450
+ networkDownloadThroughput:
+ max: 800
+ average: 200
+ median: 100
+ p5: 10
+ p25: 300
+ p75: 500
+ p95: 600
+ execution:
+ allProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildProcessCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildChildProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ allProcessesMemory:
+ max: 42949672960
+ average: 21474836480
+ median: 21474836480
+ p5: 1073741824
+ p25: 1073741824
+ p75: 21474836480
+ p95: 21474836480
+ buildProcessMemory:
+ max: 10737418240
+ average: 10737418240
+ median: 10737418240
+ p5: 10737418240
+ p25: 10737418240
+ p75: 10737418240
+ p95: 10737418240
+ buildChildProcessesMemory:
+ max: 2147483648
+ average: 2147483648
+ median: 2147483648
+ p5: 2147483648
+ p25: 2147483648
+ p75: 2147483648
+ p95: 2147483648
+ diskReadThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ diskWriteThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ networkUploadThroughput:
+ max: 500
+ average: 300
+ median: 200
+ p5: 1
+ p25: 250
+ p75: 350
+ p95: 450
+ networkDownloadThroughput:
+ max: 800
+ average: 200
+ median: 100
+ p5: 10
+ p25: 300
+ p75: 500
+ p95: 600
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-resource-usage:
+ 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 resource usage of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenResourceUsage
+ summary: Get the resource usage of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The resource usage of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenResourceUsage'
+ example:
+ total:
+ allProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildProcessCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildChildProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ allProcessesMemory:
+ max: 42949672960
+ average: 21474836480
+ median: 21474836480
+ p5: 1073741824
+ p25: 1073741824
+ p75: 21474836480
+ p95: 21474836480
+ buildProcessMemory:
+ max: 10737418240
+ average: 10737418240
+ median: 10737418240
+ p5: 10737418240
+ p25: 10737418240
+ p75: 10737418240
+ p95: 10737418240
+ buildChildProcessesMemory:
+ max: 2147483648
+ average: 2147483648
+ median: 2147483648
+ p5: 2147483648
+ p25: 2147483648
+ p75: 2147483648
+ p95: 2147483648
+ diskReadThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ diskWriteThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ networkUploadThroughput:
+ max: 500
+ average: 300
+ median: 200
+ p5: 1
+ p25: 250
+ p75: 350
+ p95: 450
+ networkDownloadThroughput:
+ max: 800
+ average: 200
+ median: 100
+ p5: 10
+ p25: 300
+ p75: 500
+ p95: 600
+ nonExecution:
+ allProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildProcessCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildChildProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ allProcessesMemory:
+ max: 42949672960
+ average: 21474836480
+ median: 21474836480
+ p5: 1073741824
+ p25: 1073741824
+ p75: 21474836480
+ p95: 21474836480
+ buildProcessMemory:
+ max: 10737418240
+ average: 10737418240
+ median: 10737418240
+ p5: 10737418240
+ p25: 10737418240
+ p75: 10737418240
+ p95: 10737418240
+ buildChildProcessesMemory:
+ max: 2147483648
+ average: 2147483648
+ median: 2147483648
+ p5: 2147483648
+ p25: 2147483648
+ p75: 2147483648
+ p95: 2147483648
+ diskReadThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ diskWriteThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ networkUploadThroughput:
+ max: 500
+ average: 300
+ median: 200
+ p5: 1
+ p25: 250
+ p75: 350
+ p95: 450
+ networkDownloadThroughput:
+ max: 800
+ average: 200
+ median: 100
+ p5: 10
+ p25: 300
+ p75: 500
+ p95: 600
+ execution:
+ allProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildProcessCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ buildChildProcessesCpu:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ allProcessesMemory:
+ max: 42949672960
+ average: 21474836480
+ median: 21474836480
+ p5: 1073741824
+ p25: 1073741824
+ p75: 21474836480
+ p95: 21474836480
+ buildProcessMemory:
+ max: 10737418240
+ average: 10737418240
+ median: 10737418240
+ p5: 10737418240
+ p25: 10737418240
+ p75: 10737418240
+ p95: 10737418240
+ buildChildProcessesMemory:
+ max: 2147483648
+ average: 2147483648
+ median: 2147483648
+ p5: 2147483648
+ p25: 2147483648
+ p75: 2147483648
+ p95: 2147483648
+ diskReadThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ diskWriteThroughput:
+ max: 100
+ average: 50
+ median: 50
+ p5: 10
+ p25: 25
+ p75: 75
+ p95: 95
+ networkUploadThroughput:
+ max: 500
+ average: 300
+ median: 200
+ p5: 1
+ p25: 250
+ p75: 350
+ p95: 450
+ networkDownloadThroughput:
+ max: 800
+ average: 200
+ median: 100
+ p5: 10
+ p25: 300
+ p75: 500
+ p95: 600
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-build-profile-overview:
+ 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 performance profile overview of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleBuildProfileOverview
+ summary: Get the performance profile overview of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The performance profile overview of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleBuildProfileOverview'
+ example:
+ breakdown:
+ total: 15465
+ initialization: 5460
+ configuration: 5000
+ execution: 2505
+ endOfBuild: 2500
+ memoryUsage:
+ totalGarbageCollectionTime: 12548
+ memoryPools:
+ - name: PS Eden Space
+ maxMemory: 1073741824
+ peakMemory: 536870912
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-build-profile-overview:
+ 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 performance profile overview of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenBuildProfileOverview
+ summary: Get the performance profile overview of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The performance profile overview of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenBuildProfileOverview'
+ example:
+ breakdown:
+ total: 15465
+ initializationAndDiscovery:
+ total: 5860
+ settings: 5000
+ toolchains: 460
+ other: 400
+ execution:
+ total: 3000
+ goalExecution: 500
+ endOfBuild: 2500
+ memoryUsage:
+ totalGarbageCollectionTime: 12548
+ memoryPools:
+ - name: PS Eden Space
+ maxMemory: 1073741824
+ peakMemory: 536870912
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-configuration-cache:
+ 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 configuration cache information for a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleConfigurationCache
+ summary: Get the configuration cache information for a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The configuration cache result of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleConfigurationCache'
+ example:
+ result:
+ outcome: MISS
+ entrySize: 1254385
+ checkFingerprintDuration: 10
+ dependencyResolutionDuration: 100
+ store:
+ duration: 200
+ hasFailed: false
+ load:
+ duration: 500
+ hasFailed: false
+ missReasons:
+ - no cached configuration was available
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/bazel-critical-path:
+ 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 critical path of a Bazel build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetBazelCriticalPath
+ summary: Get the critical path of a Bazel build.
+ description: This model is Bazel specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The critical path of a Bazel build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BazelCriticalPath'
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/gradle-dependencies:
+ 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 dependencies of a Gradle build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetGradleDependencies
+ summary: Get the dependencies of a Gradle build.
+ description: This model is Gradle specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The dependencies of a Gradle build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GradleDependencies'
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /api/builds/{id}/maven-dependencies:
+ 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 dependencies of a Maven build.
+ schema:
+ $ref: '#/components/schemas/BuildModelQuery'
+ get:
+ operationId: GetMavenDependencies
+ summary: Get the dependencies of a Maven build.
+ description: This model is Maven specific and cannot be requested for another build tool.
+ tags:
+ - Builds
+ - Develocity
+ responses:
+ '200':
+ description: The dependencies of a Maven build.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MavenDependencies'
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ '503':
+ $ref: '#/components/responses/NotReadyError'
+ /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}/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/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/projects:
+ get:
+ operationId: ListProjects
+ summary: Lists access control projects.
+ description: |
+ **Beta:** Returns a paged list of projects configured for project-level access control.
+ If there are a lot of projects, then all pages will need to be retrieved in order to retrieve the full list of projects.
+ The default number of projects per page is 1,000.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ parameters:
+ - in: query
+ name: PageQuery
+ explode: true
+ description: The page to fetch.
+ schema:
+ $ref: '#/components/schemas/PageQuery'
+ responses:
+ '200':
+ description: A list of projects configured for project-level access control in Develocity.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectsPage'
+ example:
+ content:
+ - id: some-project
+ displayName: Some Project
+ description: An example project
+ - id: another-project
+ displayName: Another Project
+ description: Another example project
+ page:
+ number: 1
+ size: 100
+ totalPages: 4
+ totalElements: 351
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/projects/{projectId}:
+ parameters:
+ - in: path
+ name: projectId
+ example: a-project
+ schema:
+ $ref: '#/components/schemas/ProjectId'
+ required: true
+ description: The ID of the access control project.
+ get:
+ operationId: GetProject
+ summary: Get an access control project.
+ description: |
+ **Beta:** Gets a specific project configured for project-level access control.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The requested project configured for project-level access control.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ example:
+ id: some-project
+ displayName: Some Project
+ description: An example project
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ put:
+ operationId: CreateOrUpdateProject
+ summary: Create or update an access control project.
+ description: |
+ **Beta:** Create or update a project configured for project-level access control in Develocity.
+ When updating, any optional fields that are omitted from the request, but were previously set on the project, will be unset/removed.
+ An existing project's identifier cannot be updated.
+ If the update contains a id that does not match the current id, then the operation will fail with a Bad Request response.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ example:
+ id: some-project
+ displayName: Some Project
+ description: An example project
+ responses:
+ '200':
+ description: The project was created or updated successfully.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ example:
+ id: some-project
+ displayName: Some Project
+ description: An example project
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/project-groups:
+ get:
+ operationId: ListProjectGroups
+ summary: Lists access control project groups.
+ description: |
+ **Beta:** Returns a list of all project groups configured for project-level access control.
+ If there are a lot of project groups, then all pages will need to be retrieved in order to retrieve the full list of project groups.
+ The default number of project groups per page is 100.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ parameters:
+ - in: query
+ name: PageQuery
+ explode: true
+ description: The page to fetch.
+ schema:
+ $ref: '#/components/schemas/PageQuery'
+ responses:
+ '200':
+ description: A list of project groups configured for project-level access control.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectGroupsPage'
+ example:
+ content:
+ - id: some-project-group
+ displayName: Some Project Group
+ description: An example project group
+ projects:
+ - id: some-project
+ - id: another-project
+ - id: another-project-group
+ displayName: Another Project Group
+ description: Another example project group
+ projects:
+ - id: another-project
+ page:
+ number: 1
+ size: 50
+ totalPages: 4
+ totalElements: 151
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/project-groups/{projectGroupId}:
+ parameters:
+ - in: path
+ name: projectGroupId
+ example: a-project-group
+ schema:
+ $ref: '#/components/schemas/ProjectGroupId'
+ required: true
+ description: The ID of the project group configured for project-level access control.
+ get:
+ operationId: GetProjectGroup
+ summary: Get an access control project group.
+ description: |
+ **Beta:** Gets a specific project group configured for project-level access control.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The requested project group configured for project-level access control.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectGroup'
+ example:
+ id: some-project-group
+ displayName: Some Project Group
+ description: An example project group
+ projects:
+ - id: some-project
+ - id: another-project
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ put:
+ operationId: CreateOrUpdateProjectGroup
+ summary: Create or update an access control project group.
+ description: |
+ **Beta:** Create or update a project group configured for project-level access control in Develocity.
+ When updating, any optional fields that are omitted from the request, but were previously set on the project group, will be unset/removed.
+ An existing project group's identifier cannot be updated.
+ If the update contains a id that does not match the current id, then the operation will fail with a Bad Request response.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectGroup'
+ example:
+ id: some-project-group
+ displayName: Some Project Group
+ description: An example project group
+ projects:
+ - id: some-project
+ - id: another-project
+ responses:
+ '200':
+ description: The project group was created or updated successfully.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectGroup'
+ example:
+ id: some-project-group
+ displayName: Some Project Group
+ description: An example project group
+ projects:
+ - id: some-project
+ - id: another-project
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ delete:
+ operationId: DeleteProjectGroup
+ summary: Delete an access control project group.
+ description: |
+ **Beta:** Delete a project group configured for project-level access control in Develocity.
+ tags:
+ - Projects
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The projectId referenced an existing project group and it was deleted.
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/tests/containers:
+ description: |
+ The tests endpoint is used to retrieve the list of tests that have at least one instance of the given test outcomes in the given timeframe.
+ It works on test containers, such as test classes, and not individual tests cases.
+ get:
+ operationId: GetTestContainers
+ summary: Get a list of test containers.
+ description: Returns the list of test containers.
+ tags:
+ - Tests
+ - GradleEnterprise
+ - Develocity
+ parameters:
+ - in: query
+ name: query
+ explode: true
+ required: true
+ description: The query parameters used to retrieve the list of test containers.
+ schema:
+ $ref: '#/components/schemas/TestContainersQuery'
+ responses:
+ '200':
+ description: A list of test containers.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestsResponse'
+ example:
+ content:
+ - name: com.example.Test
+ workUnits:
+ - gradle:
+ projectName: acme
+ taskPath: ':test'
+ outcomeDistribution:
+ passed: 1
+ failed: 2
+ skipped: 3
+ flaky: 4
+ notSelected: 5
+ total: 15
+ buildScanIdsByOutcome:
+ passed:
+ - ssfohatb6uw2u
+ failed:
+ - qegl4bohhoy2i
+ - eo6lnhluzkbbg
+ skipped:
+ - 6jsgeu7deyisu
+ - nyg4nlhts6ez2
+ - 5qpe6oluq6nkm
+ flaky:
+ - milutmob6ayt6
+ - es5izuj3d3euw
+ - q7hrgly7txcoa
+ - lo7xqd74pkepk
+ notSelected:
+ - q3cz4ajrspqe4
+ - kpmkaegons4ls
+ - t53u7u63j35uq
+ - wifudssaudxyo
+ - k6cgdkvi574u4
+ - name: com.example.MavenTest
+ workUnits:
+ - maven:
+ groupId: com.example
+ artifactId: maven-test
+ goalName: surefire:test
+ executionId: default-execution
+ outcomeDistribution:
+ passed: 0
+ failed: 0
+ skipped: 0
+ flaky: 1
+ notSelected: 0
+ total: 1
+ buildScanIdsByOutcome:
+ passed: []
+ failed: []
+ skipped: []
+ flaky:
+ - rvta3gxepioxu
+ notSelected: []
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ /api/tests/cases:
+ description: |
+ The test cases endpoint is used to retrieve the list of test cases that have at least one instance of the given test outcomes in the given timeframe.
+ It returns information about the test cases inside the given container.
+ get:
+ operationId: GetTestCases
+ summary: Get a list of test cases.
+ description: Retrieves the list of test cases of a single container.
+ tags:
+ - Tests
+ - GradleEnterprise
+ - Develocity
+ parameters:
+ - in: query
+ name: query
+ explode: true
+ required: true
+ description: The query parameters used to retrieve the list of test cases.
+ schema:
+ $ref: '#/components/schemas/TestCasesQuery'
+ responses:
+ '200':
+ description: A list of test cases.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestsResponse'
+ example:
+ content:
+ - name: testCase1
+ workUnits:
+ - gradle:
+ projectName: acme
+ taskPath: ':test'
+ outcomeDistribution:
+ passed: 1
+ failed: 2
+ skipped: 3
+ flaky: 4
+ notSelected: 5
+ total: 15
+ buildScanIdsByOutcome:
+ passed:
+ - ssfohatb6uw2u
+ failed:
+ - qegl4bohhoy2i
+ - eo6lnhluzkbbg
+ skipped:
+ - 6jsgeu7deyisu
+ - nyg4nlhts6ez2
+ - 5qpe6oluq6nkm
+ flaky:
+ - milutmob6ayt6
+ - es5izuj3d3euw
+ - q7hrgly7txcoa
+ - lo7xqd74pkepk
+ notSelected:
+ - q3cz4ajrspqe4
+ - kpmkaegons4ls
+ - t53u7u63j35uq
+ - wifudssaudxyo
+ - k6cgdkvi574u4
+ '400':
+ $ref: '#/components/responses/BadRequestError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+ /api/test-distribution/agent-pools:
+ get:
+ operationId: ListTestDistributionAgentPools
+ summary: Lists Agent Pools.
+ description: Returns a list of all Agent Pools.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The response contains a listing of all Agent Pools.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolPage'
+ example:
+ content:
+ - id: m4yfaq4a
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ capabilities:
+ - os=linux
+ - jdk=11
+ - team-abc
+ orderIndex: 1
+ restrictAccessToProjectGroups: false
+ projectGroupIds: []
+ - id: dwc4whvi
+ name: def-agents-pool
+ minimumSize: 0
+ maximumSize: 10
+ capabilities:
+ - os=windows
+ - jdk=11
+ orderIndex: 2
+ restrictAccessToProjectGroups: true
+ projectGroupIds:
+ - project-group-a
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ post:
+ operationId: CreateTestDistributionAgentPool
+ summary: Create an Agent Pool.
+ description: |
+ Create a new Agent Pool in Develocity.
+ The orderIndex element is optional and can be used to specify the priority order in which the Agent Pool is considered.
+ When not specified, the Agent Pool will be added last.
+ When specified, the Agent Pool will be added at the specified index and all other Agent Pools will be moved down.
+ If the specified index is out of bounds, the Agent Pool will be added last with the orderIndex adjusted accordingly.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolConfiguration'
+ example:
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ capabilities:
+ - os=linux
+ - jdk=11
+ - team-abc
+ orderIndex: 1
+ restrictAccessToProjectGroups: false
+ projectGroupIds: []
+ responses:
+ '200':
+ description: A new Agent Pool was created with the configuration specified in the request.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolConfigurationWithId'
+ example:
+ id: m4yfaq4a
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ capabilities:
+ - os=linux
+ - jdk=11
+ - team-abc
+ orderIndex: 1
+ restrictAccessToProjectGroups: false
+ projectGroupIds: []
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/test-distribution/agent-pools/{poolId}:
+ parameters:
+ - in: path
+ name: poolId
+ example: m4yfaq4a
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolId'
+ required: true
+ description: The ID of the pool to view.
+ get:
+ operationId: GetTestDistributionAgentPool
+ summary: View the properties of an Agent Pool
+ description: View the identifier, capabilities and size of an Agent Pool.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The poolId referenced an existing Agent Pool whose configuration is described in the response.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolConfigurationWithId'
+ example:
+ id: m4yfaq4a
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ capabilities:
+ - os=linux
+ - jdk=11
+ - team-abc
+ orderIndex: 1
+ restrictAccessToProjectGroups: false
+ projectGroupIds: []
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ put:
+ operationId: CreateOrUpdateTestDistributionAgentPool
+ summary: Create or update an Agent Pool.
+ description: |
+ Create a new Agent Pool in Develocity or update the configuration of an existing one.
+ The orderIndex element is optional and can be used to specify the priority order in which the Agent Pool is considered.
+ When not specified, the Agent Pool will be either added last on creation, or will not change position on update.
+ When specified, the Agent Pool will be added at/moved to the specified index and all other Agent Pools will be moved down.
+ If the specified index is out of bounds, the Agent Pool will be added last with the orderIndex adjusted accordingly.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolConfiguration'
+ example:
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ capabilities:
+ - os=linux
+ - jdk=11
+ - team-abc
+ orderIndex: 1
+ restrictAccessToProjectGroups: false
+ projectGroupIds: []
+ responses:
+ '200':
+ description: The Agent Pool was created or its configuration was updated successfully.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolConfigurationWithId'
+ example:
+ id: m4yfaq4a
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ capabilities:
+ - os=linux
+ - jdk=11
+ - team-abc
+ orderIndex: 1
+ restrictAccessToProjectGroups: false
+ projectGroupIds: []
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ delete:
+ operationId: DeleteTestDistributionAgentPool
+ summary: Delete an Agent Pool.
+ description: Delete an existing Agent Pool.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The poolId referenced an existing Agent Pool and it was deleted.
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/test-distribution/agent-pools/{poolId}/status:
+ parameters:
+ - in: path
+ name: poolId
+ example: m4yfaq4a
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolId'
+ required: true
+ description: The ID of the pool to view.
+ get:
+ operationId: GetTestDistributionAgentPoolStatus
+ summary: View the status of an Agent Pool
+ description: |
+ View the status of an Agent Pool, such as its current size.
+ To access this endpoint the user requires the `Test Distribution` permission.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The poolId referenced an existing Agent Pool whose status is described in the response.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolStatus'
+ example:
+ id: m4yfaq4a
+ name: abc-agents-pool
+ minimumSize: 10
+ maximumSize: 20
+ connectedAgents: 15
+ idleAgents: 5
+ desiredAgents: 10
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/test-distribution/agent-pools/{poolId}/registration-keys:
+ parameters:
+ - in: path
+ name: poolId
+ example: m4yfaq4a
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolId'
+ required: true
+ description: The ID of the pool to view.
+ get:
+ operationId: ListTestDistributionAgentPoolRegistrationKeys
+ summary: Lists Test Distribution pool-specific agent registration keys.
+ description: Returns a list of all Test Distribution pool-specific agent registration key prefixes.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The response contains a listing of the requested type of (active or revoked) Test Distribution pool-specific agent registration key.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKeyPrefixPage'
+ example:
+ content:
+ - keyPrefix: am3mbm5kamztbmrmygym5kamct
+ createdAt: '2021-01-01T12:59:59Z'
+ lastUsedAt: '2021-05-03T10:11:02Z'
+ lastUsedBy: agent1.localhost
+ - keyPrefix: yw3zbwjtnwthbxp3ym6ybxlnew
+ createdAt: '2021-04-20T13:21:43Z'
+ revokedAt: '2022-10-12T11:22:33Z'
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ post:
+ operationId: GenerateTestDistributionAgentPoolRegistrationKey
+ summary: Generate a new Test Distribution pool-specific agent registration key.
+ description: Generate a new Test Distribution pool-specific agent registration key to connect agents and query the agent pool API.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKeyDescription'
+ example:
+ description: Created by user-x for testing
+ responses:
+ '200':
+ description: A new registration key was successfully generated and contained in the response.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKey'
+ example:
+ key: 46rhyue2hltfwcx36qw7gad74lar4f2clb6a4qo5a433zzx7aqwq
+ description: Created by user-x for testing
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/test-distribution/agent-pools/{poolId}/registration-keys/{keyPrefix}:
+ parameters:
+ - in: path
+ name: poolId
+ example: m4yfaq4a
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolId'
+ required: true
+ description: The ID of the pool to view.
+ - in: path
+ name: keyPrefix
+ example: riux3fkajs6ivtajxbrunelywk
+ schema:
+ type: string
+ minLength: 26
+ maxLength: 26
+ pattern: ^[a-z2-7]{26}$
+ required: true
+ description: The prefix of the Test Distribution pool-specific agent registration key.
+ get:
+ operationId: GetTestDistributionAgentPoolRegistrationKey
+ summary: Get a Test Distribution pool-specific agent registration keyPrefix information.
+ description: Returns information about a Test Distribution pool-specific agent registration keyPrefix.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The response contains information about the requested Test Distribution pool-specific agent registration keyPrefix.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKeyPrefix'
+ example:
+ keyPrefix: am3mbm5kamztbmrmygym5kamct
+ description: Created by user-x for testing
+ createdAt: '2021-01-01T12:59:59Z'
+ lastUsedAt: '2021-05-03T10:11:02Z'
+ lastUsedBy: agent1.localhost
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ put:
+ operationId: InsertTestDistributionAgentPoolRegistrationKey
+ summary: Insert a specific Test Distribution pool-specific agent registration key.
+ description: |
+ Inserts a specific Test Distribution pool-specific agent registration key to connect agents and query the agent pool API.
+ If a key with the same prefix but different key already exists (regardless of which pool it belongs to), it will return 400.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKey'
+ example:
+ key: 46rhyue2hltfwcx36qw7gad74lar4f2clb6a4qo5a433zzx7aqwq
+ description: Created by user-x for testing
+ responses:
+ '200':
+ description: The registration key was successfully inserted.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKeyPrefix'
+ example:
+ keyPrefix: am3mbm5kamztbmrmygym5kamct
+ description: Created by user-x for testing
+ createdAt: '2021-01-01T12:59:59Z'
+ lastUsedAt: '2021-05-03T10:11:02Z'
+ lastUsedBy: agent1.localhost
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ delete:
+ operationId: RevokeTestDistributionAgentPoolRegistrationKey
+ summary: Revoke a Test Distribution pool-specific agent registration key.
+ description: |
+ Revoke the Test Distribution pool-specific agent registration key for the given prefix which uniquely identifies a Test Distribution pool-specific agent registration key.
+ A revoked key can no longer be used to connect agents, but it will still be queryable and returned in the list.
+ tags:
+ - TestDistribution
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ description: The registration key was revoked successfully.
+ '403':
+ $ref: '#/components/responses/ForbiddenError'
+ '404':
+ $ref: '#/components/responses/UnauthorizedOrNotFoundError'
+ /api/version:
+ get:
+ operationId: GetVersion
+ summary: Provides the version of Develocity.
+ description: This endpoint can be accessed by any authenticated user.
+ tags:
+ - Meta
+ - GradleEnterprise
+ - Develocity
+ responses:
+ '200':
+ $ref: '#/components/responses/SuccessfulVersionResponse'
+ '404':
+ $ref: '#/components/responses/NotFoundError'
+ '500':
+ $ref: '#/components/responses/UnexpectedError'
+components:
+ securitySchemes:
+ DevelocityAccessKeyOrToken:
+ type: http
+ scheme: bearer
+ bearerFormat: Bearer <>
+ description: |
+ All requests require a Develocity access key or token as a bearer token.
+ Given an access key of `l3an7wk3j4ze5v4mi7rvgjf2p7g44nvlswg4cpvdonjs7rzd4kmq`, the required header is `Authorization: Bearer l3an7wk3j4ze5v4mi7rvgjf2p7g44nvlswg4cpvdonjs7rzd4kmq`.
+
+ Please consult the [Develocity API User Manual](https://gradle.com/help/api-access-control) for guidance on how to provision access keys or tokens and check user permissions.
+ responses:
+ ForbiddenError:
+ description: The authenticated user has insufficient permissions.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ ForbiddenUserResponse:
+ $ref: '#/components/examples/ForbiddenUserExample'
+ SuccessfulVersionResponse:
+ description: Successful version response
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DevelocityVersion'
+ BadRequestError:
+ description: The request cannot be fulfilled due to a problem.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ RequestValidationApiProblemResponse:
+ $ref: '#/components/examples/RequestValidationApiProblemExample'
+ UnauthenticatedError:
+ description: Something was wrong with the request.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ RequestValidationApiProblemResponse:
+ $ref: '#/components/examples/UnauthenticatedExample'
+ NotFoundError:
+ description: The referenced resource either does not exist or the permissions to know about it are missing.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ NotFoundResponse:
+ $ref: '#/components/examples/NotFoundApiProblemExample'
+ UnexpectedError:
+ description: The server encountered an unexpected error.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ UnexpectedErrorResponse:
+ $ref: '#/components/examples/UnexpectedErrorApiProblemExample'
+ NotReadyError:
+ description: The server is not ready to handle the request.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ IngestionNotCompletedResponse:
+ $ref: '#/components/examples/IngestionNotCompletedApiProblemExample'
+ NodeNotSignedInError:
+ description: The node was not signed in with Develocity.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ NodeNotSignedInResponse:
+ $ref: '#/components/examples/NodeNotSignedInProblemExample'
+ UnauthorizedOrNotFoundError:
+ description: No API key was specified in the request, the key has been revoked, or the user bearing the key lacks permissions for this operation.
+ AccessTokenForbidden:
+ description: The current user or authenticating access token does not have sufficient access or lifetime to create the requested access token.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ MissingPermissionResponse:
+ value:
+ type: urn:gradle:enterprise:api:problems:forbidden
+ title: Missing requested permission.
+ detail: The permissions [administerGe] were requested for the access token, but were not granted to this user.
+ status: 403
+ MissingProjectResponse:
+ value:
+ type: urn:gradle:enterprise:api:problems:forbidden
+ title: Missing requested projects.
+ detail: The projects [project-a, project-b] were requested for the access token, but were not assigned to this user.
+ status: 403
+ InsufficientLifetimeResponse:
+ value:
+ type: urn:gradle:enterprise:api:problems:forbidden
+ title: Requested expiration exceeds current.
+ detail: The access token used to authenticate this request expires at 2024-02-14T01:44:51.225701Z, which is sooner than the requested expiration time of PT12H from now.
+ status: 403
+ BadRequest:
+ description: The request body is malformed or contains invalid values for at least one of the properties.
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/ApiProblem'
+ examples:
+ CapabilityValidationProblemResponse:
+ $ref: '#/components/examples/CapabilityValidationProblemExample'
+ schemas:
+ DevelocityVersion:
+ title: DevelocityVersion
+ type: object
+ allOf:
+ - $ref: '#/components/schemas/GradleEnterpriseVersion'
+ GradleEnterpriseVersion:
+ title: GradleEnterpriseVersion
+ type: object
+ description: |
+ **This object is deprecated, use `DevelocityVersion` instead.**
+ deprecated: true
+ required:
+ - string
+ - year
+ - release
+ - patch
+ properties:
+ string:
+ type: string
+ description: The complete version string of format `YEAR.RELEASE.PATCH`, where the patch component is omitted when `0` (e.g. `2022.3`, `2022.3.1`).
+ year:
+ type: integer
+ description: The gregorian calendar year of the release.
+ release:
+ type: integer
+ description: The sequence number of the release for that year, starting with 1.
+ minimum: 1
+ patch:
+ type: integer
+ description: The patch level of the release, starting with 0.
+ minimum: 0
+ example:
+ '2022.3':
+ value:
+ string: '2022.3'
+ year: 2022
+ release: 3
+ patch: 0
+ 2022.3.1:
+ value:
+ string: 2022.3.1
+ year: 2022
+ release: 3
+ patch: 1
+ ApiProblem:
+ type: object
+ description: |
+ 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.
+ required:
+ - type
+ - title
+ - status
+ properties:
+ status:
+ type: integer
+ description: HTTP status code of the problem response.
+ type:
+ type: string
+ description: A URN (Uniform Resource Name) identifying the type of the problem.
+ title:
+ type: string
+ description: The underlying reason for the problem.
+ detail:
+ type: string
+ description: A longer and comprehensive description of the problem. May be `null` if not available.
+ nullable: true
+ ProjectId:
+ type: string
+ description: The unique identifier for the project. Must not contain whitespace.
+ minLength: 1
+ maxLength: 256
+ pattern: ^\S+$
+ Permission:
+ type: string
+ description: A permission [config value](https://gradle.com/help/helm-admin-permissions).
+ minLength: 1
+ maxLength: 256
+ pattern: ^\S+$
+ BuildModelName:
+ description: Build model names that can be requested when fetching builds.
+ type: string
+ enum:
+ - gradle-artifact-transform-executions
+ - gradle-attributes
+ - gradle-build-cache-performance
+ - gradle-build-profile-overview
+ - gradle-configuration-cache
+ - gradle-deprecations
+ - gradle-dependencies
+ - gradle-network-activity
+ - gradle-plugins
+ - gradle-projects
+ - gradle-resource-usage
+ - gradle-test-performance
+ - maven-attributes
+ - maven-build-cache-performance
+ - maven-build-profile-overview
+ - maven-dependencies
+ - maven-dependency-resolution
+ - maven-modules
+ - maven-plugins
+ - maven-resource-usage
+ - maven-test-performance
+ - bazel-attributes
+ - bazel-critical-path
+ - npm-attributes
+ - python-attributes
+ - sbt-attributes
+ BuildModelNames:
+ description: |
+ The list of build models to return in the response for each build.
+ If not provided, no models are returned.
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildModelName'
+ BuildAttributesValue:
+ type: object
+ description: A Build Scan value.
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ description: The name of the Build Scan value.
+ value:
+ type: string
+ description: The value of the Build Scan value. `null` if the Build Scan value is not set.
+ BuildAttributesLink:
+ type: object
+ description: A Build Scan link.
+ required:
+ - label
+ - url
+ properties:
+ label:
+ type: string
+ description: The label of the Build Scan link.
+ url:
+ type: string
+ description: The url of the Build Scan link.
+ GradleDevelocitySettings:
+ type: object
+ description: Settings for Develocity.
+ properties:
+ backgroundPublicationEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ buildOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ fileFingerprintCapturingEnabled:
+ type: boolean
+ description: 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://docs.gradle.com/enterprise/gradle-plugin/#capturing_file_fingerprints.
+ nullable: true
+ testOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ resourceUsageCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ taskInputsFileCapturingEnabled:
+ deprecated: true
+ type: boolean
+ description: |
+ 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.**
+ nullable: true
+ GradleBuildOptions:
+ type: object
+ description: Gradle build options for this build.
+ required:
+ - configurationOnDemandEnabled
+ - continuousBuildEnabled
+ - continueOnFailureEnabled
+ - daemonEnabled
+ - dryRunEnabled
+ - excludedTasks
+ - maxNumberOfGradleWorkers
+ - offlineModeEnabled
+ - parallelProjectExecutionEnabled
+ - refreshDependenciesEnabled
+ - rerunTasksEnabled
+ properties:
+ buildCacheEnabled:
+ type: boolean
+ description: 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--.
+ nullable: true
+ configurationCacheEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ configurationOnDemandEnabled:
+ type: boolean
+ description: Indicates whether configuration on demand mode is enabled for the build. See https://docs.gradle.org/current/userguide/multi_project_configuration_and_execution.html#sec:configuration_on_demand.
+ continuousBuildEnabled:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: Indicates whether the build is run with the Gradle Daemon. See https://docs.gradle.org/current/userguide/gradle_daemon.html.
+ dryRunEnabled:
+ type: boolean
+ description: 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:
+ type: array
+ items:
+ type: string
+ description: The list of excluded tasks. See https://docs.gradle.org/current/userguide/command_line_interface.html#sec:excluding_tasks_from_the_command_line.
+ fileSystemWatchingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ isolatedProjectsEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ maxNumberOfGradleWorkers:
+ type: integer
+ description: 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:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: Indicates whether parallel project execution is enabled for the build. See https://docs.gradle.org/current/userguide/multi_project_configuration_and_execution.html#sec:parallel_execution.
+ refreshDependenciesEnabled:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: 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.
+ BuildAttributesEnvironment:
+ type: object
+ description: The environment where the build is executed.
+ required:
+ - operatingSystem
+ - numberOfCpuCores
+ - jreVersion
+ - jvmVersion
+ - jvmMaxMemoryHeapSize
+ - jvmLocale
+ properties:
+ username:
+ type: string
+ description: Operating system username of the build user. `null` if no username is captured.
+ nullable: true
+ operatingSystem:
+ type: string
+ description: Operating system of the build machine.
+ numberOfCpuCores:
+ type: integer
+ description: Number of cores available to the build JVM.
+ jreVersion:
+ type: string
+ description: Version of the Java runtime executing the build.
+ jvmVersion:
+ type: string
+ description: Version of the Java Virtual Machine executing the build.
+ jvmMaxMemoryHeapSize:
+ type: integer
+ format: int64
+ description: Maximum heap memory available to the build JVM in bytes.
+ jvmCharset:
+ type: string
+ description: The default charset of the JVM executing the build. `null` if capturing is not possible.
+ nullable: true
+ jvmLocale:
+ type: string
+ description: The locale of the JVM executing the build.
+ publicHostname:
+ type: string
+ description: The hostname of the build machine, as seen on the network. `null` if capturing is not possible.
+ nullable: true
+ localHostname:
+ type: string
+ description: The hostname of the build machine, as specified by itself. `null` if capturing is not possible.
+ nullable: true
+ localIpAddresses:
+ type: array
+ items:
+ type: string
+ description: The local IP addresses of the build machine. `null` if capturing is not possible.
+ nullable: true
+ GradleGradleEnterpriseSettings:
+ type: object
+ description: |
+ **This property is deprecated, use `develocitySettings` instead.**
+ Settings for Develocity.
+ deprecated: true
+ properties:
+ backgroundPublicationEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ buildOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ taskInputsFileCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ testOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ resourceUsageCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ GradleAttributes:
+ type: object
+ description: The attributes of a Gradle build.
+ required:
+ - id
+ - buildStartTime
+ - buildDuration
+ - gradleVersion
+ - pluginVersion
+ - requestedTasks
+ - hasFailed
+ - tags
+ - values
+ - links
+ - develocitySettings
+ - buildOptions
+ - environment
+ - gradleEnterpriseSettings
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildStartTime:
+ type: integer
+ format: int64
+ description: The time when the build starts, as milliseconds since Epoch.
+ buildDuration:
+ type: integer
+ format: int64
+ description: The duration of the build, as milliseconds.
+ gradleVersion:
+ type: string
+ description: The Gradle version used.
+ pluginVersion:
+ type: string
+ description: The Develocity Gradle plugin version used.
+ rootProjectName:
+ type: string
+ description: The root project name. `null` in case of very early build failure.
+ nullable: true
+ requestedTasks:
+ type: array
+ items:
+ type: string
+ description: The list of requested tasks.
+ hasFailed:
+ type: boolean
+ description: True when the build fails, false otherwise.
+ hasVerificationFailure:
+ type: boolean
+ description: |
+ 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:
+ type: boolean
+ description: |
+ 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:
+ type: array
+ items:
+ type: string
+ description: The list of Build Scan tags.
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesValue'
+ description: The list of Build Scan values.
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesLink'
+ description: The list of Build Scan links.
+ develocitySettings:
+ $ref: '#/components/schemas/GradleDevelocitySettings'
+ buildOptions:
+ $ref: '#/components/schemas/GradleBuildOptions'
+ environment:
+ $ref: '#/components/schemas/BuildAttributesEnvironment'
+ gradleEnterpriseSettings:
+ $ref: '#/components/schemas/GradleGradleEnterpriseSettings'
+ description: |
+ **This property is deprecated, use `develocitySettings` instead.**
+ Settings for Develocity.
+ deprecated: true
+ BuildTestPerformanceTests:
+ type: object
+ description: Test-related data of a build.
+ required:
+ - testClassesCount
+ properties:
+ testClassesCount:
+ type: integer
+ description: Number of test classes of a build.
+ TestAccelerationFeatureUsageStatus:
+ type: string
+ enum:
+ - unavailable
+ - disabled
+ - enabled
+ description: |
+ 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**
+ TestPerformanceBuildPredictiveTestSelectionUsage:
+ type: object
+ description: Groups PTS usage data (build level).
+ required:
+ - status
+ - wallClockSavings
+ - serialTimeSavings
+ properties:
+ status:
+ $ref: '#/components/schemas/TestAccelerationFeatureUsageStatus'
+ wallClockSavings:
+ type: integer
+ format: int64
+ description: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the Predictive Test Selection request, than it would have taken to directly execute the tests.
+ nullable: true
+ serialTimeSavings:
+ type: integer
+ format: int64
+ description: The serial time savings in milliseconds. This is the sum of test duration estimates from not selected test classes.
+ nullable: true
+ TestPerformanceBuildPredictiveTestSelectionSimulationData:
+ type: object
+ description: Data related to a Predictive Test Selection simulation (build level).
+ required:
+ - wallClockSavingsPotential
+ - serialTimeSavingsPotential
+ - workUnitFailuresPredictedCount
+ - workUnitFailuresMissedCount
+ - avoidableTestClassesCount
+ - unavoidableTestClassesCount
+ - testClassesCountSelectedDueToInsufficientData
+ properties:
+ wallClockSavingsPotential:
+ type: integer
+ format: int64
+ description: The PTS wallclock savings potential in milliseconds.
+ serialTimeSavingsPotential:
+ type: integer
+ format: int64
+ description: The PTS serial time savings potential in milliseconds.
+ workUnitFailuresPredictedCount:
+ type: integer
+ format: int64
+ description: The number of predicted task failures.
+ workUnitFailuresMissedCount:
+ type: integer
+ format: int64
+ description: The number of task failures that were missed in the prediction.
+ avoidableTestClassesCount:
+ type: integer
+ format: int64
+ description: The number test classes that can be avoided by PTS.
+ unavoidableTestClassesCount:
+ type: integer
+ format: int64
+ description: The number of test classes that cannot be avoided by PTS.
+ testClassesCountSelectedDueToInsufficientData:
+ type: integer
+ format: int64
+ description: The number of test classes that were selected because of insufficient data.
+ TestPerformanceBuildPredictiveTestSelectionSimulation:
+ type: object
+ description: Groups data from the three PTS simulation profiles (build level).
+ required:
+ - conservative
+ - standard
+ - fast
+ properties:
+ conservative:
+ $ref: '#/components/schemas/TestPerformanceBuildPredictiveTestSelectionSimulationData'
+ standard:
+ $ref: '#/components/schemas/TestPerformanceBuildPredictiveTestSelectionSimulationData'
+ fast:
+ $ref: '#/components/schemas/TestPerformanceBuildPredictiveTestSelectionSimulationData'
+ TestPerformanceBuildPredictiveTestSelection:
+ type: object
+ description: Predictive Test Selection related data of a build.
+ required:
+ - usage
+ properties:
+ usage:
+ $ref: '#/components/schemas/TestPerformanceBuildPredictiveTestSelectionUsage'
+ simulation:
+ $ref: '#/components/schemas/TestPerformanceBuildPredictiveTestSelectionSimulation'
+ TestPerformanceBuildTestDistribution:
+ type: object
+ description: Test Distribution related data of a build.
+ required:
+ - usageStatus
+ - wallClockSavings
+ properties:
+ usageStatus:
+ $ref: '#/components/schemas/TestAccelerationFeatureUsageStatus'
+ wallClockSavings:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ TestPerformanceBuildTestAcceleration:
+ type: object
+ description: Test acceleration data of a build.
+ required:
+ - predictiveTestSelection
+ - testDistribution
+ - wallClockSavings
+ properties:
+ predictiveTestSelection:
+ $ref: '#/components/schemas/TestPerformanceBuildPredictiveTestSelection'
+ testDistribution:
+ $ref: '#/components/schemas/TestPerformanceBuildTestDistribution'
+ wallClockSavings:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ WorkUnitTestPerformanceTests:
+ type: object
+ description: Test-related data of a task/goal.
+ required:
+ - failedTestClassesCount
+ - testClassesCount
+ properties:
+ failedTestClassesCount:
+ type: integer
+ description: Number of failed test classes of a task/goal.
+ testClassesCount:
+ type: integer
+ description: Number of test classes of a task/goal.
+ TestPerformanceWorkUnitPredictiveTestSelectionUsage:
+ type: object
+ description: Predictive Test Selection related data of a work unit.
+ required:
+ - status
+ - wallClockSavings
+ - serialTimeSavings
+ - nonSelectedTestClassesCount
+ properties:
+ status:
+ $ref: '#/components/schemas/TestAccelerationFeatureUsageStatus'
+ wallClockSavings:
+ type: integer
+ format: int64
+ description: The wall-clock savings in milliseconds, which can be negative. Negative values indicate that it took more time to make the Predictive Test Selection request, than it would have taken to directly execute the tests.
+ nullable: true
+ serialTimeSavings:
+ type: integer
+ format: int64
+ description: The serial time savings in milliseconds. This is the sum of test duration estimates from not selected test classes.
+ nullable: true
+ nonSelectedTestClassesCount:
+ type: integer
+ description: The number of test classes that have not been selected by Predictive Test Selection. Null if Predictive Test Selection was disabled / unavailable.
+ nullable: true
+ TestPerformanceWorkUnitPredictiveTestSelectionSimulationData:
+ type: object
+ description: Data related to a Predictive Test Selection simulation (task/goal level).
+ required:
+ - wallClockSavingsPotential
+ - serialTimeSavingsPotential
+ - avoidableTestClassesCount
+ - unavoidableTestClassesCount
+ - testClassesCountSelectedDueToInsufficientData
+ - failedTestClassesPredictedCount
+ properties:
+ wallClockSavingsPotential:
+ type: integer
+ format: int64
+ description: The PTS wallclock savings potential in milliseconds.
+ serialTimeSavingsPotential:
+ type: integer
+ format: int64
+ description: The PTS serial time savings potential in milliseconds.
+ avoidableTestClassesCount:
+ type: integer
+ format: int64
+ description: The number test classes that can be avoided by PTS.
+ unavoidableTestClassesCount:
+ type: integer
+ format: int64
+ description: The number of test classes that cannot be avoided by PTS.
+ testClassesCountSelectedDueToInsufficientData:
+ type: integer
+ format: int64
+ description: The number of test classes that were selected because of insufficient data.
+ failedTestClassesPredictedCount:
+ type: integer
+ format: int64
+ description: The number of test classes with failed prediction.
+ TestPerformanceWorkUnitPredictiveTestSelectionSimulation:
+ type: object
+ description: Groups data from the three PTS simulation profiles (task/goal level).
+ required:
+ - conservative
+ - standard
+ - fast
+ properties:
+ conservative:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitPredictiveTestSelectionSimulationData'
+ standard:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitPredictiveTestSelectionSimulationData'
+ fast:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitPredictiveTestSelectionSimulationData'
+ TestPerformanceWorkUnitPredictiveTestSelection:
+ type: object
+ description: Predictive Test Selection related data of a work unit.
+ required:
+ - usage
+ properties:
+ usage:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitPredictiveTestSelectionUsage'
+ simulation:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitPredictiveTestSelectionSimulation'
+ TestPerformanceWorkUnitTestDistribution:
+ type: object
+ description: Test Distribution related data of a work unit.
+ required:
+ - usageStatus
+ - wallClockSavings
+ properties:
+ usageStatus:
+ $ref: '#/components/schemas/TestAccelerationFeatureUsageStatus'
+ wallClockSavings:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ remoteTestClassesCount:
+ type: integer
+ description: The number of test classes that have been executed remotely by Test Distribution. Null if Test Distribution was disabled / unavailable.
+ nullable: true
+ TestPerformanceWorkUnitTestAcceleration:
+ type: object
+ description: Test acceleration data of a work unit.
+ required:
+ - predictiveTestSelection
+ - testDistribution
+ - wallClockSavings
+ properties:
+ predictiveTestSelection:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitPredictiveTestSelection'
+ testDistribution:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitTestDistribution'
+ wallClockSavings:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ TestPerformanceTask:
+ type: object
+ description: Test task
+ required:
+ - taskPath
+ - taskType
+ - wallClockExecutionTime
+ - serialExecutionTime
+ - tests
+ - testAcceleration
+ properties:
+ taskPath:
+ type: string
+ description: The path of the test task
+ taskType:
+ type: string
+ description: The fully qualified name of the task type
+ wallClockExecutionTime:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: 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:
+ $ref: '#/components/schemas/WorkUnitTestPerformanceTests'
+ testAcceleration:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitTestAcceleration'
+ GradleTestPerformance:
+ type: object
+ description: Test performance metrics of a Gradle build.
+ required:
+ - tests
+ - serialTestTasksExecutionTime
+ - testAcceleration
+ - testTasks
+ properties:
+ tests:
+ $ref: '#/components/schemas/BuildTestPerformanceTests'
+ serialTestTasksExecutionTime:
+ type: integer
+ format: int64
+ description: The sum of the serial execution times in millis of test tasks run in the build.
+ testAcceleration:
+ $ref: '#/components/schemas/TestPerformanceBuildTestAcceleration'
+ testTasks:
+ type: array
+ items:
+ $ref: '#/components/schemas/TestPerformanceTask'
+ GradleBuildCachePerformanceTaskExecutionEntry:
+ type: object
+ required:
+ - taskPath
+ - taskType
+ - avoidanceOutcome
+ - duration
+ properties:
+ taskPath:
+ type: string
+ description: The full task path.
+ taskType:
+ type: string
+ description: The fully qualified class name of the task.
+ avoidanceOutcome:
+ type: string
+ enum:
+ - 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
+ description: |
+ 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
+ * `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
+ * `avoided_unknown_reason` - Task which was avoided for an unknown reason
+ * `lifecycle` - Lifecycle task
+ * `no-source` - No-source task
+ * `skipped` - Skipped task
+ duration:
+ type: integer
+ format: int64
+ description: The task duration in milliseconds.
+ fingerprintingDuration:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ avoidanceSavings:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ nonCacheabilityCategory:
+ type: string
+ enum:
+ - 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
+ description: |
+ 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.
+ nullable: true
+ nonCacheabilityReason:
+ type: string
+ description: The human-readable reason for a non-cacheable task. `null` when the task is cacheable or if the information is not available.
+ nullable: true
+ skipReasonMessage:
+ type: string
+ description: The detailed reason why the task is skipped. `null` if the task is not skipped or Gradle versions <7.6 are used.
+ nullable: true
+ cacheArtifactSize:
+ type: integer
+ format: int64
+ description: |
+ 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.
+ nullable: true
+ cacheArtifactRejectedReason:
+ description: |
+ 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.
+ nullable: true
+ type: string
+ enum:
+ - artifact_size_too_large
+ cacheKey:
+ type: string
+ description: The build cache key. `null` if no build cache key was computed (e.g. when the task is skipped).
+ nullable: true
+ GradleBuildCachePerformanceTaskExecution:
+ type: array
+ description: A list of executed tasks with performance related information.
+ items:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceTaskExecutionEntry'
+ GradleBuildCachePerformanceTaskFingerprintingSummary:
+ type: object
+ description: 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`.
+ nullable: true
+ required:
+ - count
+ - serialDuration
+ properties:
+ count:
+ type: integer
+ description: Count of fingerprinted tasks.
+ serialDuration:
+ type: integer
+ format: int64
+ description: Sum of all fingerprinting times of fingerprinted tasks in milliseconds.
+ GradleBuildCachePerformanceWorkUnitFingerprintingSummary:
+ type: object
+ description: A summary of task and artifact transform fingerprinting. `null` if Gradle version is < `5.0` or Develocity Gradle plugin version is < `2.1`.
+ nullable: true
+ required:
+ - count
+ - serialDuration
+ properties:
+ count:
+ type: integer
+ description: Count of fingerprinted work units.
+ serialDuration:
+ type: integer
+ format: int64
+ description: Sum of all fingerprinting times of fingerprinted work units in milliseconds.
+ GradleBuildCachePerformanceAvoidanceSavingsSummary:
+ type: object
+ description: |
+ **This is deprecated, use `taskAvoidanceSavingsSummary` instead.**
+ A breakdown of avoidance savings.
+ deprecated: true
+ required:
+ - total
+ - ratio
+ - upToDate
+ - localBuildCache
+ - remoteBuildCache
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to their outputs being reused in milliseconds.
+ ratio:
+ type: number
+ format: double
+ description: 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:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to build incrementalism in milliseconds.
+ localBuildCache:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the local build cache in milliseconds.
+ remoteBuildCache:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the remote build cache in milliseconds.
+ GradleBuildCachePerformanceTaskAvoidanceSavingsSummary:
+ type: object
+ description: A breakdown of avoidance savings for tasks.
+ required:
+ - total
+ - ratio
+ - upToDate
+ - localBuildCache
+ - remoteBuildCache
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to their outputs being reused in milliseconds.
+ ratio:
+ type: number
+ format: double
+ description: 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:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to build incrementalism in milliseconds.
+ localBuildCache:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the local build cache in milliseconds.
+ remoteBuildCache:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the tasks due to their outputs being reused from the remote build cache in milliseconds.
+ GradleBuildCachePerformanceWorkUnitAvoidanceSavingsSummary:
+ type: object
+ description: A breakdown of avoidance savings for tasks and artifact transforms.
+ required:
+ - total
+ - ratio
+ - upToDate
+ - localBuildCache
+ - remoteBuildCache
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the work units due to their outputs being reused in milliseconds.
+ ratio:
+ type: number
+ format: double
+ description: 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:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the work units due to build incrementalism in milliseconds.
+ localBuildCache:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the work units due to their outputs being reused from the remote build cache in milliseconds.
+ GradleBuildCachePerformanceBuildCacheLocalInfo:
+ type: object
+ description: Information about the local build cache used in the build.
+ required:
+ - isEnabled
+ properties:
+ isEnabled:
+ type: boolean
+ description: Indicates whether the local build cache is enabled.
+ isPushEnabled:
+ type: boolean
+ description: Indicates whether pushing to the local build cache is enabled. `null` if the local build cache is disabled.
+ nullable: true
+ isDisabledDueToError:
+ type: boolean
+ description: 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:
+ type: string
+ description: Location of the local build cache. Can be relative or absolute depending on its value. `null` if the local build cache is disabled.
+ nullable: true
+ GradleBuildCachePerformanceBuildCacheRemoteInfo:
+ type: object
+ description: Information about the remote build cache used in the build.
+ required:
+ - isEnabled
+ properties:
+ type:
+ type: string
+ description: The type of the connector used to communicate with the remote build cache. `null` if the remote build cache is disabled.
+ nullable: true
+ className:
+ type: string
+ description: The class name of the connector. `null` if the remote build cache is disabled.
+ nullable: true
+ isEnabled:
+ type: boolean
+ description: Indicates whether the remote build cache is enabled.
+ isPushEnabled:
+ type: boolean
+ description: Indicates whether pushing to the remote build cache is enabled. `null` if the remote build cache is disabled.
+ nullable: true
+ isDisabledDueToError:
+ type: boolean
+ description: 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:
+ type: string
+ description: 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.
+ nullable: true
+ GradleBuildCachePerformanceBuildCacheOverhead:
+ type: object
+ description: Information about the build cache overhead in this build.
+ required:
+ - uploading
+ - downloading
+ - packing
+ - unpacking
+ properties:
+ uploading:
+ type: integer
+ format: int64
+ description: Overhead of upload operations in milliseconds.
+ downloading:
+ type: integer
+ format: int64
+ description: Overhead of download operations in milliseconds.
+ packing:
+ type: integer
+ format: int64
+ description: Overhead of pack operations in milliseconds.
+ unpacking:
+ type: integer
+ format: int64
+ description: Overhead of unpack operations in milliseconds.
+ GradleBuildCachePerformanceBuildCaches:
+ type: object
+ description: Information about the local and remote build caches used in the build. `null` if the build cache is globally disabled.
+ nullable: true
+ required:
+ - local
+ - remote
+ - overhead
+ properties:
+ local:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceBuildCacheLocalInfo'
+ remote:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceBuildCacheRemoteInfo'
+ overhead:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceBuildCacheOverhead'
+ GradleBuildCachePerformance:
+ type: object
+ description: The build cache performance of a Gradle build.
+ required:
+ - id
+ - buildTime
+ - effectiveTaskExecutionTime
+ - effectiveWorkUnitExecutionTime
+ - serialTaskExecutionTime
+ - serialWorkUnitExecutionTime
+ - serializationFactor
+ - taskExecution
+ - avoidanceSavingsSummary
+ - taskAvoidanceSavingsSummary
+ - workUnitAvoidanceSavingsSummary
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildTime:
+ type: integer
+ format: int64
+ description: Wall clock duration of the build in milliseconds.
+ effectiveTaskExecutionTime:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: Wall clock time of all task executions in milliseconds. It is the sum of all individual task durations.
+ serialWorkUnitExecutionTime:
+ type: integer
+ format: int64
+ description: 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:
+ type: number
+ format: double
+ description: 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:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceTaskExecution'
+ taskFingerprintingSummary:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceTaskFingerprintingSummary'
+ workUnitFingerprintingSummary:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceWorkUnitFingerprintingSummary'
+ avoidanceSavingsSummary:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceAvoidanceSavingsSummary'
+ taskAvoidanceSavingsSummary:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceTaskAvoidanceSavingsSummary'
+ workUnitAvoidanceSavingsSummary:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceWorkUnitAvoidanceSavingsSummary'
+ buildCaches:
+ $ref: '#/components/schemas/GradleBuildCachePerformanceBuildCaches'
+ GradleProject:
+ type: object
+ description: A Gradle project.
+ required:
+ - name
+ - path
+ properties:
+ name:
+ type: string
+ description: The name of the project.
+ path:
+ type: string
+ description: The path of the project.
+ parent:
+ type: integer
+ nullable: true
+ description: 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).
+ GradleProjects:
+ type: array
+ items:
+ $ref: '#/components/schemas/GradleProject'
+ description: List of Gradle projects including structural relationships.
+ GradleNetworkActivity:
+ type: object
+ description: 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.
+ required:
+ - networkRequestCount
+ - serialNetworkRequestTime
+ - fileDownloadSize
+ - fileDownloadCount
+ properties:
+ networkRequestCount:
+ description: This represents the total count of network requests.
+ format: int64
+ type: integer
+ minimum: 0
+ serialNetworkRequestTime:
+ description: 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.
+ format: int64
+ type: integer
+ minimum: 0
+ wallClockNetworkRequestTime:
+ description: |
+ 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.
+ format: int64
+ type: integer
+ minimum: 0
+ fileDownloadSize:
+ type: integer
+ format: int64
+ minimum: 0
+ description: 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:
+ type: integer
+ format: int64
+ minimum: 0
+ description: The total number of successfully downloaded files.
+ GradleArtifactTransformAttribute:
+ type: object
+ required:
+ - name
+ - from
+ - to
+ properties:
+ name:
+ type: string
+ description: The name of the attribute.
+ from:
+ type: string
+ description: The input attribute value.
+ to:
+ type: string
+ description: The requested attributed value.
+ GradleArtifactTransformExecutionEntry:
+ type: object
+ required:
+ - artifactTransformExecutionName
+ - transformActionType
+ - inputArtifactName
+ - changedAttributes
+ - outcome
+ - avoidanceOutcome
+ - duration
+ properties:
+ artifactTransformExecutionName:
+ type: string
+ description: Artifact transform execution name.
+ transformActionType:
+ type: string
+ description: The fully qualified class name of the artifact transform action.
+ inputArtifactName:
+ type: string
+ description: The name of the input artifact transformed by this transform.
+ changedAttributes:
+ type: array
+ description: The list of changed attributes merged from all transform execution requests.
+ items:
+ $ref: '#/components/schemas/GradleArtifactTransformAttribute'
+ outcome:
+ type: string
+ enum:
+ - failed
+ - success
+ - from_cache
+ - up_to_date
+ - unknown
+ - skipped
+ description: |
+ 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:
+ type: string
+ enum:
+ - 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
+ description: |
+ 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
+ * `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
+ * `avoided_unknown_reason` - Artifact transform execution which was avoided for an unknown reason
+ * `skipped` - Skipped artifact transform execution. **This is not emitted anymore, replaced by `up_to_date`.**
+ duration:
+ type: integer
+ format: int64
+ description: The artifact transform execution duration in milliseconds.
+ fingerprintingDuration:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: 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:
+ type: string
+ enum:
+ - build_cache_not_enabled
+ - disabled_to_ensure_correctness
+ - not_cacheable
+ - unknown
+ description: |
+ 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
+ nullable: true
+ nonCacheabilityReason:
+ type: string
+ description: The human-readable reason for a non-cacheable artifact transform execution. `null` when the artifact transform execution is cacheable.
+ nullable: true
+ cacheArtifactSize:
+ type: integer
+ format: int64
+ description: |
+ 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.
+ nullable: true
+ cacheArtifactRejectedReason:
+ description: |
+ 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.
+ enum:
+ - artifact_size_too_large
+ nullable: true
+ type: string
+ skipReasonMessage:
+ type: string
+ description: The detailed reason why the transform execution is skipped. `null` if the transform execution is not skipped.
+ nullable: true
+ cacheKey:
+ type: string
+ description: The build cache key. `null` if no build cache key was computed.
+ nullable: true
+ GradleArtifactTransformExecutions:
+ type: object
+ properties:
+ artifactTransformExecutions:
+ type: array
+ description: A list of executed artifact transforms with performance related information. `null` if artifact transform execution capturing is not supported.
+ nullable: true
+ items:
+ $ref: '#/components/schemas/GradleArtifactTransformExecutionEntry'
+ GradleDeprecationOwner:
+ type: object
+ required:
+ - type
+ properties:
+ location:
+ type: string
+ description: The location of the deprecation usage. Can be a plugin id, task path, script file path, script URI. `null` if the owner type is unknown.
+ nullable: true
+ type:
+ type: string
+ enum:
+ - plugin
+ - script
+ - task
+ - unknown
+ description: |
+ The type of the deprecation owner:
+ * `plugin` - The owner of the deprecation is a plugin.
+ * `script` - The owner of the deprecation is a script.
+ * `task` - The owner of the deprecation is a task.
+ * `unknown` - Unknown deprecation owner type when none of the other options match.
+ GradleDeprecationUsage:
+ type: object
+ required:
+ - owner
+ properties:
+ contextualAdvice:
+ type: string
+ description: Advice on how to avoid using the deprecated feature, that is specific to this particular usage. `null` when no advice is available.
+ nullable: true
+ owner:
+ $ref: '#/components/schemas/GradleDeprecationOwner'
+ description: Owner of the deprecation usage. `null` when no owner is available.
+ GradleDeprecationEntry:
+ type: object
+ required:
+ - summary
+ - removalDetails
+ - usages
+ properties:
+ summary:
+ type: string
+ description: The description of the deprecation.
+ removalDetails:
+ type: string
+ description: The details about when the deprecated feature will be removed from Gradle.
+ advice:
+ type: string
+ description: The advice on how to avoid using the deprecated feature. `null` when no advice is available.
+ nullable: true
+ documentationUrl:
+ type: string
+ description: The external url pointing to some documentation about the deprecation. `null` for older Gradle/plugin combination or certain deprecation notices.
+ nullable: true
+ usages:
+ type: array
+ description: List of usages of this deprecation.
+ items:
+ $ref: '#/components/schemas/GradleDeprecationUsage'
+ GradleDeprecations:
+ type: object
+ properties:
+ deprecations:
+ type: array
+ description: A list of Gradle Build Tool deprecations with details and usage information. `null` if deprecation capturing is not supported.
+ nullable: true
+ items:
+ $ref: '#/components/schemas/GradleDeprecationEntry'
+ GradlePlugin:
+ type: object
+ required:
+ - className
+ - projects
+ properties:
+ id:
+ type: string
+ description: The plugin ID. May be `null`.
+ className:
+ type: string
+ description: The fully qualified class name of the plugin.
+ version:
+ type: string
+ description: The plugin version. May be `null`.
+ nullable: true
+ projects:
+ type: array
+ description: The paths of the projects where the plugin is applied. Will always be an array of size 1 for a single project build.
+ items:
+ type: string
+ GradlePlugins:
+ type: object
+ properties:
+ plugins:
+ type: array
+ description: A list of applied plugins in a Gradle build.
+ items:
+ $ref: '#/components/schemas/GradlePlugin'
+ ResourceUsageMetric:
+ type: object
+ required:
+ - max
+ - average
+ - median
+ - p5
+ - p25
+ - p75
+ - p95
+ properties:
+ max:
+ description: The max value of the metric.
+ type: integer
+ format: int64
+ average:
+ description: The average value of the metric.
+ type: integer
+ format: int64
+ median:
+ description: The median (or 50th percentile) value of the metric.
+ type: integer
+ format: int64
+ p5:
+ description: The 5th percentile value of the metric.
+ type: integer
+ format: int64
+ p25:
+ description: The 25th percentile value of the metric.
+ type: integer
+ format: int64
+ p75:
+ description: The 75th percentile value of the metric.
+ type: integer
+ format: int64
+ p95:
+ description: The 95th percentile value of the metric.
+ type: integer
+ format: int64
+ ResourceUsageBreakdown:
+ type: object
+ properties:
+ allProcessesCpu:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the overall CPU load, expressed as a percentage between 0 and 100.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ buildProcessCpu:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the CPU load of the build process, expressed as a percentage between 0 and 100.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ buildChildProcessesCpu:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the CPU load of the descendant processes of the build process, expressed as a percentage between 0 and 100.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ allProcessesMemory:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for overall memory used all processes, in bytes.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ buildProcessMemory:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the memory used by the build process, in bytes.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ buildChildProcessesMemory:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the memory used by the descendant processes of the build process, in bytes.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ diskReadThroughput:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the disk read throughput, in bytes/s.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ diskWriteThroughput:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the disk write throughput, in bytes/s.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ networkUploadThroughput:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the network upload throughput, in bytes/s.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ networkDownloadThroughput:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageMetric'
+ description: |
+ The resource usage metrics for the network download throughput, in bytes/s.
+ Can be `null` if the metrics could not be captured.
+ nullable: true
+ GradleResourceUsage:
+ type: object
+ properties:
+ totalMemory:
+ type: integer
+ format: int64
+ description: The physical memory of the system in bytes. Can be `null` if the metrics could not be captured.
+ nullable: true
+ total:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageBreakdown'
+ description: |
+ The resource usage breakdown spanning the entire duration of the build.
+ Can be `null` if resource usage data is not available, because its capturing was not enabled or no data points were captured for the build.
+ nullable: true
+ nonExecution:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageBreakdown'
+ description: |
+ The resource usage breakdown spanning the non-execution phase of the build.
+ This includes the time to start and initialize Gradle and configure the build model (e.g. execute build scripts and plugins).
+ It also includes the build time of the buildSrc project and included builds contributing to build logic, including the execution of their tasks.
+ Can be `null` if resource usage data is not available, because its capturing was not enabled or no data points were captured for the non-execution phase of the build.
+ nullable: true
+ execution:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageBreakdown'
+ description: |
+ The resource usage breakdown spanning the execution phase of the build.
+ This represents the elapsed time from the start of the execution of the first Gradle task to the end of the build.
+ Can be `null` if resource usage data is not available, because its capturing was not enabled or no data points were captured for the execution phase of the build.
+ nullable: true
+ GradleBuildTimeBreakdown:
+ type: object
+ description: The build time breakdown of a Gradle build.
+ required:
+ - total
+ - initialization
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: Total duration of the build in milliseconds.
+ initialization:
+ type: integer
+ format: int64
+ description: The elapsed time from the very start of the build to the moment when any kind of configuration starts in milliseconds.
+ configuration:
+ type: integer
+ format: int64
+ nullable: true
+ description: 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:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ nullable: true
+ description: 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.
+ MemoryPoolUsage:
+ type: object
+ description: Memory usage of a JVM memory pool.
+ required:
+ - name
+ - peakMemory
+ - maxMemory
+ properties:
+ name:
+ type: string
+ description: The name of the memory pool.
+ peakMemory:
+ type: integer
+ format: int64
+ description: The peak memory usage of this memory pool while running the build, in bytes.
+ maxMemory:
+ type: integer
+ format: int64
+ description: The maximum amount of memory in bytes that can be used for memory management. `-1` if the maximum memory size is undefined.
+ GradleBuildDaemonJvmMemoryUsage:
+ type: object
+ description: Memory usage stats of the Gradle Daemon JVM while running the build.
+ required:
+ - totalGarbageCollectionTime
+ properties:
+ totalGarbageCollectionTime:
+ type: integer
+ format: int64
+ description: The total garbage collection time.
+ memoryPools:
+ type: array
+ description: A list of all the heap memory pools of the JVM build process and their peak usage.
+ items:
+ $ref: '#/components/schemas/MemoryPoolUsage'
+ GradleBuildProfileOverview:
+ type: object
+ description: The performance profile overview of a Gradle build.
+ required:
+ - breakdown
+ properties:
+ breakdown:
+ $ref: '#/components/schemas/GradleBuildTimeBreakdown'
+ memoryUsage:
+ $ref: '#/components/schemas/GradleBuildDaemonJvmMemoryUsage'
+ GradleConfigurationCacheStoreResult:
+ type: object
+ description: The configuration cache store result of a Gradle build.
+ required:
+ - duration
+ - hasFailed
+ properties:
+ duration:
+ type: integer
+ format: int64
+ description: The duration of the configuration cache store operation in milliseconds. Does not include dependency resolution time.
+ hasFailed:
+ type: boolean
+ description: True when the configuration cache store operation fails, false otherwise.
+ GradleConfigurationCacheLoadResult:
+ type: object
+ description: The configuration cache store result of a Gradle build.
+ required:
+ - duration
+ - hasFailed
+ properties:
+ duration:
+ type: integer
+ format: int64
+ description: The duration of the configuration cache load operation in milliseconds.
+ hasFailed:
+ type: boolean
+ description: True when the configuration cache store operation fails, false otherwise.
+ GradleConfigurationCacheResult:
+ type: object
+ description: The configuration cache result of a Gradle build.
+ required:
+ - outcome
+ - dependencyResolutionDuration
+ properties:
+ outcome:
+ type: string
+ enum:
+ - HIT
+ - MISS
+ - FAILED
+ description: |
+ 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:
+ type: integer
+ format: int64
+ nullable: true
+ description: The size of the configuration entry in bytes. `null` in case of certain failures or if the entry size was not captured.
+ checkFingerprintDuration:
+ type: integer
+ format: int64
+ nullable: true
+ description: The duration of checking the configuration cache fingerprint. `null` in case no configuration cache fingerprint check was captured.
+ dependencyResolutionDuration:
+ type: integer
+ format: int64
+ description: The duration of dependency resolution during configuration caching.
+ store:
+ type: object
+ nullable: true
+ $ref: '#/components/schemas/GradleConfigurationCacheStoreResult'
+ load:
+ type: object
+ nullable: true
+ $ref: '#/components/schemas/GradleConfigurationCacheLoadResult'
+ missReasons:
+ type: array
+ nullable: true
+ description: The reasons why the configuration cache cannot be reused. `null` if there was no configuration cache hit.
+ items:
+ type: string
+ GradleConfigurationCache:
+ type: object
+ description: The configuration cache result of a Gradle build. `null` if configuration cache was not used.
+ properties:
+ result:
+ type: object
+ nullable: true
+ $ref: '#/components/schemas/GradleConfigurationCacheResult'
+ CommonDependency:
+ type: object
+ required:
+ - scheme
+ - type
+ - name
+ properties:
+ scheme:
+ type: string
+ description: |
+ The scheme used to identify the dependency.
+ type:
+ type: string
+ description: |
+ The type of the dependency.
+ namespace:
+ type: string
+ nullable: true
+ description: |
+ A prefix used to qualify the dependency name.
+ name:
+ type: string
+ description: The name of the dependency.
+ version:
+ type: string
+ nullable: true
+ description: The version of the dependency.
+ qualifiers:
+ type: object
+ nullable: true
+ description: |
+ Additional information to qualify the identity of the dependency. The names and their meanings are type-specific.
+ additionalProperties:
+ type: string
+ subpath:
+ type: string
+ nullable: true
+ description: Subpath within a dependency.
+ purl:
+ type: string
+ nullable: true
+ description: The [package URL](https://github.com/package-url/purl-spec) identifier for the dependency.
+ GradleDependency:
+ allOf:
+ - $ref: '#/components/schemas/CommonDependency'
+ - type: object
+ GradleDependencies:
+ type: object
+ description: |
+ 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).
+ properties:
+ dependencies:
+ type: array
+ description: List of dependencies of a Gradle build.
+ items:
+ $ref: '#/components/schemas/GradleDependency'
+ MavenDevelocitySettings:
+ type: object
+ description: Settings for Develocity.
+ properties:
+ backgroundPublicationEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ buildOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ fileFingerprintCapturingEnabled:
+ type: boolean
+ description: Indicates whether file fingerprint capturing is enabled for the build. `null` if Develocity Maven extension version is < `1.1`. See https://docs.gradle.com/enterprise/maven-extension/current/#capturing_goal_input_files.
+ nullable: true
+ goalInputsFileCapturingEnabled:
+ type: boolean
+ description: |
+ 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.**
+ nullable: true
+ deprecated: true
+ testOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ resourceUsageCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ MavenBuildOptions:
+ type: object
+ description: Maven build options for this build.
+ required:
+ - errorsEnabled
+ - maxNumberOfThreads
+ - nonRecursiveEnabled
+ - noSnapshotsUpdatesEnabled
+ - offlineModeEnabled
+ - updateSnapshotsEnabled
+ properties:
+ batchModeEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ daemonEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ debugEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ errorsEnabled:
+ type: boolean
+ description: Indicates whether the build is configured to produce execution error messages. See https://maven.apache.org/ref/current/maven-embedder/cli.html#errors.
+ failAtEndEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ failFastEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ failNeverEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ laxChecksumsEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ maxNumberOfThreads:
+ type: integer
+ description: Maximum number of threads used when executing the build. See https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3.
+ nonRecursiveEnabled:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: 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.
+ nullable: true
+ noSnapshotsUpdatesEnabled:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: Indicates whether the build is configured to run offline. See https://maven.apache.org/ref/current/maven-embedder/cli.html#offline.
+ quietEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ strictChecksumsEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ updateSnapshotsEnabled:
+ type: boolean
+ description: 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:
+ type: boolean
+ description: |
+ **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.
+ nullable: true
+ deprecated: true
+ MavenGradleEnterpriseSettings:
+ type: object
+ description: |
+ **This property is deprecated, use `develocitySettings` instead.**
+ Settings for Develocity.
+ deprecated: true
+ properties:
+ backgroundPublicationEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ buildOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ goalInputsFileCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ testOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ resourceUsageCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ MavenAttributes:
+ type: object
+ description: The attributes of a Maven build.
+ required:
+ - id
+ - buildStartTime
+ - buildDuration
+ - mavenVersion
+ - extensionVersion
+ - requestedGoals
+ - hasFailed
+ - tags
+ - values
+ - links
+ - develocitySettings
+ - buildOptions
+ - environment
+ - gradleEnterpriseSettings
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildStartTime:
+ type: integer
+ format: int64
+ description: The time when the build starts, as milliseconds since Epoch.
+ buildDuration:
+ type: integer
+ format: int64
+ description: The duration of the build, as milliseconds.
+ mavenVersion:
+ type: string
+ description: The Maven version used.
+ extensionVersion:
+ type: string
+ description: The Develocity Maven extension version used.
+ topLevelProjectName:
+ type: string
+ description: The top level project name. `null` in case of very early build failure.
+ nullable: true
+ requestedGoals:
+ type: array
+ items:
+ type: string
+ description: The list of requested goals.
+ hasFailed:
+ type: boolean
+ description: True when the build fails, false otherwise.
+ hasVerificationFailure:
+ type: boolean
+ description: |
+ 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:
+ type: boolean
+ description: |
+ 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:
+ type: array
+ items:
+ type: string
+ description: The list of Build Scan tags.
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesValue'
+ description: The list of Build Scan values.
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesLink'
+ description: The list of Build Scan links.
+ develocitySettings:
+ $ref: '#/components/schemas/MavenDevelocitySettings'
+ buildOptions:
+ $ref: '#/components/schemas/MavenBuildOptions'
+ environment:
+ $ref: '#/components/schemas/BuildAttributesEnvironment'
+ gradleEnterpriseSettings:
+ $ref: '#/components/schemas/MavenGradleEnterpriseSettings'
+ description: |
+ **This property is deprecated, use `develocitySettings` instead.**
+ Settings for Develocity.
+ deprecated: true
+ TestPerformanceGoal:
+ type: object
+ description: Test goal
+ required:
+ - goalPath
+ - goalType
+ - wallClockExecutionTime
+ - serialExecutionTime
+ - tests
+ - testAcceleration
+ properties:
+ goalPath:
+ type: string
+ description: The path of the test goal
+ goalType:
+ type: string
+ description: The fully qualified name of the goal type
+ wallClockExecutionTime:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: 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:
+ $ref: '#/components/schemas/WorkUnitTestPerformanceTests'
+ testAcceleration:
+ $ref: '#/components/schemas/TestPerformanceWorkUnitTestAcceleration'
+ MavenTestPerformance:
+ type: object
+ description: Test performance metrics of a Maven build.
+ required:
+ - tests
+ - serialTestGoalsExecutionTime
+ - testAcceleration
+ - testGoals
+ properties:
+ tests:
+ $ref: '#/components/schemas/BuildTestPerformanceTests'
+ serialTestGoalsExecutionTime:
+ type: integer
+ format: int64
+ description: The sum of the serial execution times in millis of test goals run in the build.
+ testAcceleration:
+ $ref: '#/components/schemas/TestPerformanceBuildTestAcceleration'
+ testGoals:
+ type: array
+ items:
+ $ref: '#/components/schemas/TestPerformanceGoal'
+ MavenBuildCachePerformanceGoalExecutionEntry:
+ type: object
+ required:
+ - goalName
+ - mojoType
+ - goalExecutionId
+ - goalProjectName
+ - avoidanceOutcome
+ - duration
+ properties:
+ goalName:
+ type: string
+ description: The goal name.
+ mojoType:
+ type: string
+ description: The fully qualified class name of the Mojo that provides the implementation of this goal.
+ goalExecutionId:
+ type: string
+ description: The goal execution ID.
+ goalProjectName:
+ type: string
+ description: The goal project name.
+ avoidanceOutcome:
+ type: string
+ enum:
+ - avoided_from_local_cache
+ - avoided_from_remote_cache
+ - executed_cacheable
+ - executed_not_cacheable
+ - executed_unknown_cacheability
+ - skipped
+ description: |
+ 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:
+ type: integer
+ format: int64
+ description: The goal duration in milliseconds.
+ fingerprintingDuration:
+ type: integer
+ format: int64
+ description: The goal fingerprinting duration in milliseconds. This duration is part of the complete task execution duration. `null` if the goal is not fingerprinted.
+ nullable: true
+ avoidanceSavings:
+ type: integer
+ format: int64
+ description: 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.
+ nullable: true
+ nonCacheabilityCategory:
+ type: string
+ enum:
+ - 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
+ description: |
+ 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.
+ nullable: true
+ nonCacheabilityReason:
+ type: string
+ description: The human-readable reason for a non-cacheable goal execution. `null` when the goal execution is cacheable or if the information is not available.
+ nullable: true
+ cacheArtifactSize:
+ type: integer
+ format: int64
+ description: |
+ 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.
+ nullable: true
+ cacheArtifactRejectedReason:
+ description: |
+ 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.
+ nullable: true
+ type: string
+ enum:
+ - artifact_size_too_large
+ cacheKey:
+ type: string
+ description: Build cache key. `null` if no build cache key was computed (e.g. when fingerprinting failed).
+ nullable: true
+ MavenBuildCachePerformanceGoalExecution:
+ type: array
+ description: A list of executed goals with performance related information.
+ items:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceGoalExecutionEntry'
+ MavenBuildCachePerformanceGoalFingerprintingSummary:
+ type: object
+ description: A summary of goal fingerprinting. Fingerprinted goals are part of the `goalExecution.avoidedGoals` or `goalExecution.executedGoals` buckets.
+ required:
+ - count
+ - serialDuration
+ properties:
+ count:
+ type: integer
+ description: Count of fingerprinted goals.
+ serialDuration:
+ type: integer
+ format: int64
+ description: Sum of all fingerprinting times of fingerprinted goals in milliseconds.
+ MavenBuildCachePerformanceAvoidanceSavingsSummary:
+ type: object
+ description: A breakdown of avoidance savings.
+ required:
+ - total
+ - ratio
+ - localBuildCache
+ - remoteBuildCache
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the goals due to their outputs being reused in milliseconds.
+ ratio:
+ type: number
+ format: double
+ description: 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:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the goals due to their outputs being reused from the local build cache in milliseconds.
+ remoteBuildCache:
+ type: integer
+ format: int64
+ description: The estimated reduction in serial execution time of the goals due to their outputs being reused from the remote build cache in milliseconds.
+ MavenBuildCachePerformanceBuildCacheLocalInfo:
+ type: object
+ description: 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.
+ nullable: true
+ required:
+ - isEnabled
+ properties:
+ isEnabled:
+ type: boolean
+ description: Indicates whether the local build cache is enabled.
+ isPushEnabled:
+ type: boolean
+ description: Indicates whether pushing to the local build cache is enabled. `null` if the local build cache is disabled.
+ nullable: true
+ isDisabledDueToError:
+ type: boolean
+ description: 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:
+ type: string
+ description: Location of the local build cache. Can be relative or absolute depending on its value. `null` if the local build cache is disabled.
+ nullable: true
+ MavenBuildCachePerformanceBuildCacheRemoteInfo:
+ type: object
+ description: 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.
+ nullable: true
+ required:
+ - isEnabled
+ properties:
+ isEnabled:
+ type: boolean
+ description: Indicates whether the remote build cache is enabled.
+ isPushEnabled:
+ type: boolean
+ description: Indicates whether pushing to the remote build cache is enabled. `null` if the remote build cache is disabled.
+ nullable: true
+ isDisabledDueToError:
+ type: boolean
+ description: 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:
+ type: string
+ description: URL of the remote build cache. `null` if the remote build cache is disabled.
+ nullable: true
+ MavenBuildCachePerformanceBuildCacheOverhead:
+ type: object
+ description: Information about the build cache overhead in this build.
+ required:
+ - uploading
+ - downloading
+ - packing
+ - unpacking
+ properties:
+ uploading:
+ type: integer
+ format: int64
+ description: Overhead of upload operations in milliseconds.
+ downloading:
+ type: integer
+ format: int64
+ description: Overhead of download operations in milliseconds.
+ packing:
+ type: integer
+ format: int64
+ description: Overhead of pack operations in milliseconds.
+ unpacking:
+ type: integer
+ format: int64
+ description: Overhead of unpack operations in milliseconds.
+ MavenBuildCachePerformanceBuildCaches:
+ type: object
+ description: 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).
+ nullable: true
+ required:
+ - overhead
+ properties:
+ local:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceBuildCacheLocalInfo'
+ remote:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceBuildCacheRemoteInfo'
+ overhead:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceBuildCacheOverhead'
+ MavenBuildCachePerformance:
+ type: object
+ description: The build cache performance of a Maven build.
+ required:
+ - id
+ - buildTime
+ - effectiveProjectExecutionTime
+ - serialProjectExecutionTime
+ - serializationFactor
+ - goalExecution
+ - goalFingerprintingSummary
+ - avoidanceSavingsSummary
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildTime:
+ type: integer
+ format: int64
+ description: Wall clock duration of the build in milliseconds.
+ effectiveProjectExecutionTime:
+ type: integer
+ format: int64
+ description: 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:
+ type: integer
+ format: int64
+ description: Wall clock time of all project executions in milliseconds. It is the sum of all individual project durations.
+ serializationFactor:
+ type: number
+ format: double
+ description: 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:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceGoalExecution'
+ goalFingerprintingSummary:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceGoalFingerprintingSummary'
+ avoidanceSavingsSummary:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceAvoidanceSavingsSummary'
+ buildCaches:
+ $ref: '#/components/schemas/MavenBuildCachePerformanceBuildCaches'
+ MavenModule:
+ type: object
+ description: A Maven module.
+ required:
+ - name
+ - groupId
+ - artifactId
+ - version
+ properties:
+ name:
+ type: string
+ description: The name of the module.
+ groupId:
+ type: string
+ description: The group ID of the module.
+ artifactId:
+ type: string
+ description: The artifact ID of the module.
+ version:
+ type: string
+ description: The version of the module.
+ parent:
+ type: integer
+ nullable: true
+ description: 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).
+ MavenModules:
+ type: array
+ items:
+ $ref: '#/components/schemas/MavenModule'
+ description: List of Maven modules including structural relationships.
+ MavenDependencyResolution:
+ type: object
+ description: Information about dependency resolution.
+ required:
+ - serialDependencyResolutionTime
+ - networkRequestCount
+ - serialNetworkRequestTime
+ - wallClockNetworkRequestTime
+ - fileDownloadSize
+ - fileDownloadCount
+ properties:
+ serialDependencyResolutionTime:
+ description: 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.
+ format: int64
+ type: integer
+ minimum: 0
+ networkRequestCount:
+ description: This represents the total count of network requests made during configuration resolution.
+ format: int64
+ type: integer
+ serialNetworkRequestTime:
+ description: 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.
+ format: int64
+ type: integer
+ minimum: 0
+ wallClockNetworkRequestTime:
+ description: 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.
+ format: int64
+ type: integer
+ minimum: 0
+ fileDownloadSize:
+ type: integer
+ format: int64
+ minimum: 0
+ description: 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:
+ type: integer
+ format: int64
+ minimum: 0
+ description: The total number of successfully downloaded files.
+ MavenPlugin:
+ type: object
+ required:
+ - groupId
+ - artifactId
+ - version
+ - executedGoals
+ - modules
+ properties:
+ groupId:
+ type: string
+ description: The plugin group ID.
+ artifactId:
+ type: string
+ description: The plugin artifact ID.
+ name:
+ type: string
+ description: The name of the plugin. May be `null` in cases where this is not defined or captured.
+ nullable: true
+ version:
+ type: string
+ description: The plugin version.
+ executedGoals:
+ type: array
+ description: The list of executed plugin goals. May be empty if none of the plugin goals are executed in this build.
+ items:
+ type: string
+ modules:
+ type: array
+ description: The list of short form coordinates of the modules where the plugin is applied, in the format `groupId:artifactId`.
+ items:
+ type: string
+ goalPrefix:
+ type: string
+ description: The prefix defined by the plugin for its goals. Can be `null` if not specified by the plugin.
+ nullable: true
+ requiredMavenVersion:
+ type: string
+ description: The required Maven version for the plugin. Can be `null` if not specified by the plugin.
+ nullable: true
+ MavenPlugins:
+ type: object
+ properties:
+ plugins:
+ type: array
+ description: A list of applied plugins in a Maven build.
+ items:
+ $ref: '#/components/schemas/MavenPlugin'
+ MavenResourceUsage:
+ type: object
+ properties:
+ totalMemory:
+ type: integer
+ format: int64
+ description: The physical memory of the system in bytes. Can be `null` if the metrics could not be captured.
+ nullable: true
+ total:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageBreakdown'
+ description: |
+ The resource usage breakdown spanning the entire duration of the build.
+ Can be `null` if resource usage data is not available, because its capturing was not enabled or no data points were captured for the build.
+ nullable: true
+ nonExecution:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageBreakdown'
+ description: |
+ The resource usage breakdown spanning the non-execution phase of the build.
+ This includes the time to start and initialize Maven and discover all projects.
+ Can be `null` if resource usage data is not available, because its capturing was not enabled or no data points were captured for the non-execution phase of build.
+ nullable: true
+ execution:
+ type: object
+ $ref: '#/components/schemas/ResourceUsageBreakdown'
+ nullable: true
+ description: |
+ The resource usage breakdown spanning the execution phase of the build.
+ This represents the elapsed time from the start of the execution of the first Maven project to the end of the build.
+ Can be `null` if resource usage data is not available, because its capturing was not enabled or no data points were captured for the execution phase of the build.
+ MavenBuildInitializationAndDiscoveryTimeBreakdown:
+ type: object
+ description: The time breakdown of the initialization and discovery phase of a Maven build.
+ required:
+ - total
+ - settings
+ - toolchains
+ - other
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: The elapsed time from the very start of the build to the start of the execution of the first project in milliseconds.
+ settings:
+ type: integer
+ format: int64
+ description: The elapsed time taken to read the settings of the build in milliseconds.
+ toolchains:
+ type: integer
+ format: int64
+ description: The elapsed time taken to read the toolchain settings of the build in milliseconds.
+ projectDiscovery:
+ type: integer
+ format: int64
+ nullable: true
+ description: 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:
+ type: integer
+ format: int64
+ description: Any other elapsed time between the start of the build and the start of the execution of the first project in milliseconds.
+ MavenBuildExecutionTimeBreakdown:
+ type: object
+ description: The time breakdown of the execution phase of a Maven build.
+ required:
+ - total
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: The elapsed time from the start of the execution of the first project to the end of the build in milliseconds.
+ goalExecution:
+ type: integer
+ format: int64
+ nullable: true
+ description: 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:
+ type: integer
+ format: int64
+ nullable: true
+ description: 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.
+ MavenBuildTimeBreakdown:
+ type: object
+ description: The build time breakdown of a Maven build.
+ required:
+ - total
+ - initializationAndDiscovery
+ properties:
+ total:
+ type: integer
+ format: int64
+ description: Total duration of the build in milliseconds.
+ initializationAndDiscovery:
+ $ref: '#/components/schemas/MavenBuildInitializationAndDiscoveryTimeBreakdown'
+ execution:
+ $ref: '#/components/schemas/MavenBuildExecutionTimeBreakdown'
+ MavenBuildJvmMemoryUsage:
+ type: object
+ description: Memory usage stats of the Maven JVM while running the build.
+ required:
+ - totalGarbageCollectionTime
+ properties:
+ totalGarbageCollectionTime:
+ type: integer
+ format: int64
+ description: The total garbage collection time.
+ memoryPools:
+ type: array
+ description: A list of all the heap memory pools of the JVM build process and their peak usage.
+ items:
+ $ref: '#/components/schemas/MemoryPoolUsage'
+ MavenBuildProfileOverview:
+ type: object
+ description: The performance profile overview of a Maven build.
+ required:
+ - breakdown
+ properties:
+ breakdown:
+ $ref: '#/components/schemas/MavenBuildTimeBreakdown'
+ memoryUsage:
+ $ref: '#/components/schemas/MavenBuildJvmMemoryUsage'
+ MavenDependency:
+ allOf:
+ - $ref: '#/components/schemas/CommonDependency'
+ - type: object
+ MavenDependencies:
+ type: object
+ description: |
+ 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).
+ properties:
+ dependencies:
+ type: array
+ description: List of dependencies of a Maven build.
+ items:
+ $ref: '#/components/schemas/MavenDependency'
+ BazelAttributes:
+ type: object
+ description: The attributes of a Bazel build.
+ required:
+ - id
+ - buildStartTime
+ - buildDuration
+ - bazelVersion
+ - command
+ - tags
+ - values
+ - links
+ - hasFailed
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ invocationId:
+ type: string
+ nullable: true
+ description: The Bazel-provided build invocation ID. Null when not known.
+ buildStartTime:
+ type: integer
+ format: int64
+ description: The time when the build starts, as milliseconds since Epoch.
+ buildDuration:
+ type: integer
+ format: int64
+ description: The duration of the build, as milliseconds.
+ bazelVersion:
+ type: string
+ description: The Bazel version used.
+ command:
+ type: string
+ description: The Bazel command used (e.g. build, test, run).
+ targetPatterns:
+ type: array
+ items:
+ type: string
+ description: The list of requested target patterns.
+ exitCode:
+ type: integer
+ format: int32
+ nullable: true
+ description: The exit code of the Bazel process.
+ user:
+ type: string
+ nullable: true
+ description: The BUILD_USER workspace value, if set.
+ host:
+ type: string
+ nullable: true
+ description: The BUILD_HOST workspace value, if set.
+ tags:
+ type: array
+ items:
+ type: string
+ description: The list of Build Scan tags.
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesValue'
+ description: The list of Build Scan values.
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesLink'
+ description: The list of Build Scan links.
+ moduleName:
+ type: string
+ description: The name of the module, or workspace. `null` in case of very early build failure.
+ nullable: true
+ hasFailed:
+ type: boolean
+ description: True when the build fails, false otherwise.
+ BazelCriticalPath:
+ type: object
+ description: The reported actions of the critical path.
+ properties:
+ actions:
+ type: array
+ description: The actions of the critical path. Null when the build failed early, or when the build profile was not available to Develocity.
+ items:
+ type: object
+ required:
+ - name
+ - category
+ - duration
+ properties:
+ name:
+ description: The name of the action.
+ type: string
+ category:
+ description: The category of the action.
+ type: string
+ duration:
+ description: The duration of the action, as milliseconds.
+ type: integer
+ format: int64
+ NpmCommand:
+ type: object
+ description: The command run on an npm build.
+ required:
+ - command
+ properties:
+ command:
+ type: string
+ nullable: false
+ description: The command that was run (e.g. in "npm install", this would be "install").
+ arguments:
+ type: array
+ items:
+ type: string
+ description: The arguments passed to the command (e.g. in "npm run script.js", this would be ["script.js"]).
+ NpmAttributes:
+ type: object
+ description: The attributes of an npm build.
+ required:
+ - id
+ - buildStartTime
+ - buildDuration
+ - npmVersion
+ - npmAgentVersion
+ - command
+ - links
+ - tags
+ - values
+ - hasFailed
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildStartTime:
+ type: integer
+ format: int64
+ description: The time when the build starts, as milliseconds since Epoch.
+ buildDuration:
+ type: integer
+ format: int64
+ description: The duration of the build, as milliseconds.
+ exitCode:
+ type: integer
+ format: int32
+ nullable: true
+ description: The exit code of the npm process.
+ nodejsVersion:
+ type: string
+ description: The Node.js version used.
+ npmVersion:
+ type: string
+ description: The npm version used.
+ npmAgentVersion:
+ type: string
+ description: The version of the Develocity npm agent.
+ command:
+ $ref: '#/components/schemas/NpmCommand'
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesLink'
+ description: The list of Build Scan links.
+ tags:
+ type: array
+ items:
+ type: string
+ description: The list of Build Scan tags.
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesValue'
+ description: The list of Build Scan values.
+ user:
+ type: string
+ nullable: true
+ description: The username of the user that ran the build.
+ host:
+ type: string
+ nullable: true
+ description: The hostname of the user that ran the build, if set.
+ packageName:
+ type: string
+ description: The name of the package. `null` in case of very early build failure.
+ nullable: true
+ hasFailed:
+ type: boolean
+ description: True when the build fails, false otherwise.
+ PythonAttributes:
+ type: object
+ description: The attributes of a Python build.
+ required:
+ - id
+ - buildStartTime
+ - buildDuration
+ - pythonVersion
+ - pythonAgentVersion
+ - command
+ - links
+ - tags
+ - values
+ - hasFailed
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildStartTime:
+ type: integer
+ format: int64
+ description: The time when the build starts, as milliseconds since Epoch.
+ buildDuration:
+ type: integer
+ format: int64
+ description: The duration of the build, as milliseconds.
+ exitCode:
+ type: integer
+ format: int32
+ description: The exit code of the Python process.
+ exception:
+ type: string
+ nullable: true
+ description: The exception message thrown by the Python process, if any.
+ pythonVersion:
+ type: string
+ description: The Python version used in the build.
+ pythonAgentVersion:
+ type: string
+ description: The version of the Develocity Python agent.
+ command:
+ type: array
+ items:
+ type: string
+ description: The command and arguments requested in the build.
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesLink'
+ description: The list of Build Scan links.
+ tags:
+ type: array
+ items:
+ type: string
+ description: The list of Build Scan tags.
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesValue'
+ description: The list of Build Scan values.
+ user:
+ type: string
+ nullable: true
+ description: The username of the user that ran the build.
+ host:
+ type: string
+ nullable: true
+ description: The hostname of the user that ran the build, if set.
+ hasFailed:
+ type: boolean
+ description: True when the build fails, false otherwise.
+ projectName:
+ type: string
+ description: The name of the project. `null` in case of very early build failure.
+ nullable: true
+ SbtDevelocitySettings:
+ type: object
+ description: Settings for Develocity.
+ required:
+ - backgroundPublicationEnabled
+ properties:
+ backgroundPublicationEnabled:
+ type: boolean
+ description: Indicates whether background Build Scan publication is enabled for the build. See https://gradle.com/help/sbt-plugin-switches-background-build-scan-publication.
+ buildOutputCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ resourceUsageCapturingEnabled:
+ type: boolean
+ description: 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.
+ nullable: true
+ SbtBuildOptions:
+ type: object
+ description: sbt build options for this build.
+ required:
+ - useCoursierEnabled
+ - offlineModeEnabled
+ - turboEnabled
+ - parallelExecutionEnabled
+ - semanticDbScalacPluginEnabled
+ - interactiveModeEnabled
+ properties:
+ useCoursierEnabled:
+ type: boolean
+ description: Indicates whether Coursier was used for dependency resolution.
+ offlineModeEnabled:
+ type: boolean
+ description: Indicates whether the build was configured to run offline.
+ turboEnabled:
+ type: boolean
+ description: Indicates whether the build was configured to use turbo mode.
+ parallelExecutionEnabled:
+ type: boolean
+ description: Indicates whether the build was configured to use parallel tasks execution.
+ semanticDbScalacPluginEnabled:
+ type: boolean
+ description: Indicates whether the projects in the build were configured to use the SemanticDB Scalac plugin.
+ interactiveModeEnabled:
+ type: boolean
+ description: Indicates whether the build was run from the sbt shell.
+ SbtAttributes:
+ type: object
+ description: The attributes of an sbt build.
+ required:
+ - id
+ - buildStartTime
+ - buildDuration
+ - sbtVersion
+ - pluginVersion
+ - rootProjectName
+ - requestedCommands
+ - hasFailed
+ - tags
+ - values
+ - links
+ - develocitySettings
+ - buildOptions
+ - environment
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ buildStartTime:
+ type: integer
+ format: int64
+ description: The time when the build starts, as milliseconds since Epoch.
+ buildDuration:
+ type: integer
+ format: int64
+ description: The duration of the build, as milliseconds.
+ sbtVersion:
+ type: string
+ description: The sbt version used.
+ pluginVersion:
+ type: string
+ description: The Develocity sbt plugin version used.
+ rootProjectName:
+ type: string
+ description: The name of the root project, as reported by sbt.
+ requestedCommands:
+ type: array
+ items:
+ type: string
+ description: The list of requested commands.
+ hasFailed:
+ type: boolean
+ description: True when the build fails, false otherwise.
+ hasVerificationFailure:
+ type: boolean
+ description: |
+ 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:
+ type: boolean
+ description: |
+ 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:
+ type: array
+ items:
+ type: string
+ description: The list of Build Scan tags.
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesValue'
+ description: The list of Build Scan values.
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/BuildAttributesLink'
+ description: The list of Build Scan links.
+ develocitySettings:
+ $ref: '#/components/schemas/SbtDevelocitySettings'
+ buildOptions:
+ $ref: '#/components/schemas/SbtBuildOptions'
+ environment:
+ $ref: '#/components/schemas/BuildAttributesEnvironment'
+ BuildModels:
+ type: object
+ description: Optional requested models associated with the build.
+ properties:
+ gradleAttributes:
+ description: The attributes of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleAttributes'
+ gradleTestPerformance:
+ description: Test performance-related metrics of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleTestPerformance'
+ gradleBuildCachePerformance:
+ description: The build cache performance of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleBuildCachePerformance'
+ gradleProjects:
+ description: List of Gradle projects, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleProjects'
+ gradleNetworkActivity:
+ description: Information about the network activity of the build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleNetworkActivity'
+ gradleArtifactTransformExecutions:
+ description: The artifact transform execution list of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleArtifactTransformExecutions'
+ gradleDeprecations:
+ description: The deprecation list of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleDeprecations'
+ gradlePlugins:
+ description: The plugins applied in a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradlePlugins'
+ gradleResourceUsage:
+ description: The resource usage gathered while executing a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleResourceUsage'
+ gradleBuildProfileOverview:
+ description: The performance profile overview of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleBuildProfileOverview'
+ gradleConfigurationCache:
+ description: The configuration cache result of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleConfigurationCache'
+ gradleDependencies:
+ description: The dependencies of a Gradle build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/GradleDependencies'
+ mavenAttributes:
+ description: The attributes of a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenAttributes'
+ mavenTestPerformance:
+ description: Test performance-related metrics of a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenTestPerformance'
+ mavenBuildCachePerformance:
+ description: The build cache performance of a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenBuildCachePerformance'
+ mavenModules:
+ description: List of Maven modules, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenModules'
+ mavenDependencyResolution:
+ description: Information about dependency resolution, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenDependencyResolution'
+ mavenPlugins:
+ description: The plugins applied in a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenPlugins'
+ mavenResourceUsage:
+ description: The resource usage gathered while executing a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenResourceUsage'
+ mavenBuildProfileOverview:
+ description: The performance profile overview of a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenBuildProfileOverview'
+ mavenDependencies:
+ description: The dependencies of a Maven build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/MavenDependencies'
+ bazelAttributes:
+ description: The attributes of a Bazel build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/BazelAttributes'
+ bazelCriticalPath:
+ description: The critical path of a Bazel build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/BazelCriticalPath'
+ npmAttributes:
+ description: The attributes of an npm build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/NpmAttributes'
+ pythonAttributes:
+ description: The attributes of a Python build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/PythonAttributes'
+ sbtAttributes:
+ description: The attributes of an sbt build, or a report of a problem encountered.
+ properties:
+ problem:
+ $ref: '#/components/schemas/ApiProblem'
+ model:
+ $ref: '#/components/schemas/SbtAttributes'
+ Build:
+ type: object
+ description: A build with common attributes.
+ required:
+ - id
+ - availableAt
+ - buildToolType
+ - buildToolVersion
+ - buildAgentVersion
+ properties:
+ id:
+ type: string
+ description: The Build Scan ID.
+ availableAt:
+ type: integer
+ format: int64
+ description: A unix-epoch-time in milliseconds referring to the instant that Develocity completed receiving and processing the build.
+ buildToolType:
+ type: string
+ description: The build tool type of the build.
+ buildToolVersion:
+ type: string
+ description: The build tool version used.
+ buildAgentVersion:
+ type: string
+ description: The build agent version used.
+ models:
+ $ref: '#/components/schemas/BuildModels'
+ Builds:
+ type: array
+ items:
+ $ref: '#/components/schemas/Build'
+ description: List of builds with common attributes.
+ AvailabilityWaitTimeoutSecs:
+ type: integer
+ minimum: 0
+ description: The time in seconds the server should wait for ingestion before returning a wait timeout response.
+ BuildQuery:
+ type: object
+ properties:
+ models:
+ $ref: '#/components/schemas/BuildModelNames'
+ allModels:
+ type: boolean
+ default: false
+ description: |
+ Whether to include all build models for the build.
+ If set to `true`, the value of the `models` parameter is ignored.
+ availabilityWaitTimeoutSecs:
+ $ref: '#/components/schemas/AvailabilityWaitTimeoutSecs'
+ BuildModelQuery:
+ type: object
+ properties:
+ availabilityWaitTimeoutSecs:
+ $ref: '#/components/schemas/AvailabilityWaitTimeoutSecs'
+ ReplicationConfiguration:
+ description: Cached data replication configuration description. May be `null` if replication is not configured.
+ type: object
+ nullable: true
+ required:
+ - source
+ - preemptive
+ properties:
+ source:
+ type: string
+ description: The name of the Build Cache Node which is the source of data.
+ preemptive:
+ type: boolean
+ description: Indicates if preemptive replication is enabled from the source.
+ NodeConfiguration:
+ description: A Build Cache Node configuration description.
+ type: object
+ required:
+ - enabled
+ properties:
+ enabled:
+ type: boolean
+ description: Indicates if the Build Cache Node is enabled.
+ replication:
+ $ref: '#/components/schemas/ReplicationConfiguration'
+ KeySecretPair:
+ description: A Build Cache Node key and secret pair.
+ type: object
+ required:
+ - key
+ - secret
+ properties:
+ key:
+ type: string
+ description: A unique identifier for the Build Cache Node in Develocity.
+ secret:
+ type: string
+ description: The secret associated with the Build Cache Node.
+ PageQuery:
+ type: object
+ properties:
+ pageNumber:
+ type: integer
+ format: int32
+ description: |
+ The index of the page to retrieve.
+ The first page's index is zero.
+ minimum: 0
+ default: 0
+ pageSize:
+ type: integer
+ format: in32
+ description: The maximum number of elements to include in the fetched page.
+ minimum: 0
+ Project:
+ type: object
+ description: A project configured for project-level access control in Develocity.
+ required:
+ - id
+ properties:
+ id:
+ $ref: '#/components/schemas/ProjectId'
+ displayName:
+ type: string
+ description: The label used when displaying the project.
+ maxLength: 266
+ description:
+ type: string
+ description: The description of the project group.
+ maxLength: 1024
+ PageMetadata:
+ type: object
+ description: |
+ Information about the current and available page of elements.
+ Pages are returned from list operations which could contain a lot of elements.
+ One page contains a subset of the available elements.
+ API users can retrieve all pages in order to retrieve all of the available elements.
+ required:
+ - number
+ - size
+ - totalElements
+ - totalPages
+ properties:
+ number:
+ type: integer
+ format: int32
+ description: The index of the current page. Page indexes start at zero.
+ minimum: 0
+ size:
+ type: integer
+ format: int32
+ description: The number of elements in the current page.
+ minimum: 0
+ totalPages:
+ type: integer
+ format: int32
+ description: The total number of pages.
+ minimum: 0
+ totalElements:
+ type: integer
+ format: int32
+ description: The total number of elements across all pages.
+ minimum: 0
+ ProjectsPage:
+ type: object
+ description: A paged list of projects configured for project-level access control in Develocity.
+ required:
+ - content
+ - page
+ properties:
+ content:
+ type: array
+ description: A list of projects configured for project-level access control in Develocity.
+ items:
+ $ref: '#/components/schemas/Project'
+ page:
+ $ref: '#/components/schemas/PageMetadata'
+ ProjectGroupId:
+ type: string
+ description: The unique identifier for the project group configured for project-level access control in Develocity. Must not contain whitespace.
+ minLength: 1
+ maxLength: 215
+ pattern: ^\S+$
+ ProjectReference:
+ type: object
+ description: A container for a project ID.
+ required:
+ - id
+ properties:
+ id:
+ $ref: '#/components/schemas/ProjectId'
+ ProjectGroup:
+ type: object
+ description: A group of projects that can be assigned to users.
+ required:
+ - id
+ properties:
+ id:
+ $ref: '#/components/schemas/ProjectGroupId'
+ displayName:
+ type: string
+ description: The label used when displaying the project group.
+ maxLength: 266
+ description:
+ type: string
+ description: The description of the project group.
+ maxLength: 1024
+ identityProviderAttributeValue:
+ type: string
+ description: |
+ The value of an identity provider attribute this project group is associated with.
+ Users who have this value in the identity provider attribute will be assigned this project group.
+ minLength: 1
+ maxLength: 256
+ projects:
+ type: array
+ items:
+ $ref: '#/components/schemas/ProjectReference'
+ ProjectGroupsPage:
+ type: object
+ description: A paged list of project groups configured for project-level access control in Develocity.
+ required:
+ - content
+ - page
+ properties:
+ content:
+ type: array
+ description: A list of project groups configured for project-level access control in Develocity.
+ items:
+ $ref: '#/components/schemas/ProjectGroup'
+ page:
+ $ref: '#/components/schemas/PageMetadata'
+ TestOutcome:
+ type: string
+ enum:
+ - passed
+ - failed
+ - skipped
+ - flaky
+ - notSelected
+ TestIncludeFields:
+ type: string
+ enum:
+ - buildScanIds
+ - workUnits
+ x-enum-varnames:
+ - BUILD_SCAN_IDS
+ - WORK_UNITS
+ TestContainersQuery:
+ type: object
+ required:
+ - testOutcomes
+ - query
+ properties:
+ container:
+ type: string
+ description: Allows restricting the search to parts of the test container hierarchy. You can use wildcards to match a specific subpackage.
+ default: '*'
+ testOutcomes:
+ type: array
+ description: Allows restricting the search to tests that had at least one instance of the given outcome.
+ items:
+ $ref: '#/components/schemas/TestOutcome'
+ minItems: 1
+ query:
+ type: string
+ description: |
+ A query for filtering tests, written in the Develocity advanced search query language
+ See: https://gradle.com/help/advanced-search
+ include:
+ type: array
+ description: Controls which optional fields are included in the response.
+ nullable: true
+ items:
+ $ref: '#/components/schemas/TestIncludeFields'
+ BazelWorkUnit:
+ type: object
+ description: A Bazel work unit.
+ required:
+ - packageName
+ - targetName
+ properties:
+ packageName:
+ type: string
+ description: The name of the Bazel package.
+ targetName:
+ type: string
+ description: The name of the Bazel target.
+ GradleWorkUnit:
+ type: object
+ description: A Gradle work unit.
+ required:
+ - projectName
+ - taskPath
+ properties:
+ projectName:
+ type: string
+ description: The name of the Gradle project.
+ taskPath:
+ type: string
+ description: The path of the Gradle task.
+ MavenWorkUnit:
+ type: object
+ description: A Maven work unit.
+ required:
+ - groupId
+ - artifactId
+ - goalName
+ - executionId
+ properties:
+ groupId:
+ type: string
+ description: The Maven groupId.
+ artifactId:
+ type: string
+ description: The Maven artifactId.
+ goalName:
+ type: string
+ description: The Maven goal name.
+ executionId:
+ type: string
+ description: The execution id of the goal.
+ TestWorkUnit:
+ type: object
+ description: |
+ Contains a work unit.
+
+ Only one of the properties is set, representing the build tool used for the build.
+ minProperties: 1
+ maxProperties: 1
+ properties:
+ bazel:
+ $ref: '#/components/schemas/BazelWorkUnit'
+ gradle:
+ $ref: '#/components/schemas/GradleWorkUnit'
+ maven:
+ $ref: '#/components/schemas/MavenWorkUnit'
+ TestOutcomeDistribution:
+ type: object
+ description: A distribution of outcomes.
+ required:
+ - passed
+ - failed
+ - skipped
+ - flaky
+ - notSelected
+ - total
+ properties:
+ passed:
+ type: integer
+ description: The number of 'Passed' outcomes.
+ failed:
+ type: integer
+ description: The number of 'Failed' outcomes.
+ skipped:
+ type: integer
+ description: The number of 'Skipped' outcomes.
+ flaky:
+ type: integer
+ description: The number of 'Flaky' outcomes.
+ notSelected:
+ type: integer
+ description: The number of 'Not Selected' outcomes.
+ total:
+ type: integer
+ description: The total number of outcomes.
+ BuildScanIdsByOutcome:
+ type: object
+ description: Build Scan IDs for builds that contain tests with outcomes.
+ required:
+ - passed
+ - failed
+ - skipped
+ - flaky
+ - notSelected
+ properties:
+ passed:
+ type: array
+ description: The BuildIds of 'Passed' outcomes.
+ items:
+ type: string
+ failed:
+ type: array
+ description: The Build Scan IDs of 'Failed' outcomes.
+ items:
+ type: string
+ skipped:
+ type: array
+ description: The BuildIds of 'Skipped' outcomes.
+ items:
+ type: string
+ flaky:
+ type: array
+ description: The BuildIds of 'Flaky' outcomes.
+ items:
+ type: string
+ notSelected:
+ type: array
+ description: The BuildIds of 'Not Selected' outcomes.
+ items:
+ type: string
+ TestOrContainer:
+ type: object
+ description: A test or test container.
+ required:
+ - name
+ - outcomeDistribution
+ properties:
+ name:
+ type: string
+ description: The name of the test or test container.
+ workUnits:
+ type: array
+ nullable: true
+ items:
+ $ref: '#/components/schemas/TestWorkUnit'
+ outcomeDistribution:
+ $ref: '#/components/schemas/TestOutcomeDistribution'
+ buildScanIdsByOutcome:
+ $ref: '#/components/schemas/BuildScanIdsByOutcome'
+ TestsResponse:
+ type: object
+ description: A list of test containers or test cases.
+ required:
+ - content
+ properties:
+ content:
+ type: array
+ description: A list of test containers.
+ items:
+ $ref: '#/components/schemas/TestOrContainer'
+ TestCasesQuery:
+ x-all-of-name: TestCasesQuery
+ type: object
+ required:
+ - container
+ - testOutcomes
+ - query
+ properties:
+ container:
+ type: string
+ description: Must be the fully qualified name of the test container to query. May not contain any wildcards.
+ testOutcomes:
+ type: array
+ description: Allows restricting the search to tests that had at least one instance of the given outcome.
+ items:
+ $ref: '#/components/schemas/TestOutcome'
+ minItems: 1
+ limit:
+ description: The maximum number of test outcomes to query.
+ type: integer
+ format: int32
+ default: 100
+ minimum: 1
+ maximum: 1000
+ query:
+ type: string
+ description: |
+ A query for filtering tests, written in the Develocity advanced search query language
+ See: https://gradle.com/help/advanced-search
+ include:
+ type: array
+ description: Controls which optional fields are included in the response.
+ nullable: true
+ items:
+ $ref: '#/components/schemas/TestIncludeFields'
+ TestDistributionAgentPoolId:
+ description: The unique identifier of the agent pool.
+ type: string
+ minLength: 8
+ maxLength: 8
+ pattern: ^[a-z2-7]{8}$
+ TestDistributionAgentPoolConfigurationWithId:
+ description: An agent pool configuration.
+ type: object
+ required:
+ - id
+ - name
+ - minimumSize
+ - maximumSize
+ - capabilities
+ - orderIndex
+ properties:
+ id:
+ $ref: '#/components/schemas/TestDistributionAgentPoolId'
+ name:
+ type: string
+ description: The alias or display name of the agent pool.
+ minLength: 1
+ example: functional-test-agents
+ minimumSize:
+ type: integer
+ format: int32
+ minimum: 0
+ maximumSize:
+ type: integer
+ format: int32
+ minimum: 0
+ orderIndex:
+ description: The order in which the agent pool is considered for allocation. Lower values are considered first.
+ type: integer
+ format: int32
+ minimum: 0
+ capabilities:
+ type: array
+ items:
+ type: string
+ pattern: ^([-\w.]+)(?:=([-\w.]+))?$
+ example:
+ - jdk=17
+ - os=linux
+ - functional-test
+ restrictAccessToProjectGroups:
+ type: boolean
+ description: |
+ Controls whether this pool can be used by everyone, or only the assigned project groups.
+ A `true` value implies that `projectGroupIds` is present and has at least one entry.
+ Conversely, a `false` value implies that `projectGroupIds` is empty.
+ default: false
+ projectGroupIds:
+ type: array
+ description: |
+ Controls which project groups can use this pool.
+ If it is empty, then `restrictAccessToProjectGroups` must be `false`.
+ Conversely, if it has values then `restrictAccessToProjectGroups` must be `true`.
+ items:
+ type: string
+ pattern: ^[^\\s]{1,215}$
+ example: project-group-a
+ TestDistributionAgentPoolPage:
+ description: A list of agent pools.
+ type: object
+ required:
+ - content
+ properties:
+ content:
+ type: array
+ description: A list of agent pool IDs.
+ items:
+ $ref: '#/components/schemas/TestDistributionAgentPoolConfigurationWithId'
+ TestDistributionAgentPoolConfiguration:
+ description: An agent pool configuration.
+ type: object
+ required:
+ - name
+ - minimumSize
+ - maximumSize
+ - capabilities
+ properties:
+ name:
+ type: string
+ description: The alias or display name of the agent pool.
+ minLength: 1
+ example: functional-test-agents
+ minimumSize:
+ type: integer
+ format: int32
+ minimum: 0
+ maximumSize:
+ type: integer
+ format: int32
+ minimum: 0
+ orderIndex:
+ description: The order in which the agent pool is considered for allocation. Lower values are considered first.
+ type: integer
+ format: int32
+ nullable: true
+ minimum: 0
+ capabilities:
+ type: array
+ items:
+ type: string
+ pattern: ^([-\w.]+)(?:=([-\w.]+))?$
+ example:
+ - jdk=17
+ - os=linux
+ - functional-test
+ restrictAccessToProjectGroups:
+ type: boolean
+ description: |
+ Controls whether this pool can be used by everyone, or only the assigned project groups.
+ A `true` value implies that `projectGroupIds` is present and has at least one entry.
+ Conversely, a `false` value implies that `projectGroupIds` is empty.
+ default: false
+ projectGroupIds:
+ type: array
+ description: |
+ Controls which project groups can use this pool.
+ If it is empty, then `restrictAccessToProjectGroups` must be `false`.
+ Conversely, if it has values then `restrictAccessToProjectGroups` must be `true`.
+ items:
+ type: string
+ pattern: ^[^\\s]{1,215}$
+ example: project-group-a
+ TestDistributionAgentPoolStatus:
+ description: The status of an agent pool.
+ type: object
+ required:
+ - id
+ - name
+ - minimumSize
+ - maximumSize
+ - connectedAgents
+ - idleAgents
+ - desiredAgents
+ properties:
+ id:
+ $ref: '#/components/schemas/TestDistributionAgentPoolId'
+ name:
+ type: string
+ description: The alias or display name of the agent pool.
+ minLength: 1
+ minimumSize:
+ type: integer
+ format: int32
+ maximumSize:
+ type: integer
+ format: int32
+ connectedAgents:
+ type: integer
+ format: int32
+ idleAgents:
+ type: integer
+ format: int32
+ desiredAgents:
+ type: integer
+ format: int32
+ TestDistributionAgentPoolRegistrationKeyPrefix:
+ description: A Test Distribution pool-specific agent registration key prefix.
+ type: object
+ required:
+ - keyPrefix
+ - createdAt
+ properties:
+ keyPrefix:
+ type: string
+ minLength: 26
+ maxLength: 26
+ pattern: ^[a-z2-7]{26}$
+ description: The registration key prefix.
+ description:
+ type: string
+ maxLength: 100
+ description: Description of the registration key to help identify it later.
+ example: Used by xyz
+ createdAt:
+ type: string
+ format: date-time
+ description: When the key was created
+ lastUsedAt:
+ type: string
+ format: date-time
+ nullable: true
+ description: When the key was last used
+ lastUsedBy:
+ type: string
+ nullable: true
+ description: Who used the key last
+ revokedAt:
+ type: string
+ format: date-time
+ nullable: true
+ description: When the key was revoked, a non-null value implies that the key is revoked and can no longer be used to authenticate.
+ TestDistributionAgentPoolRegistrationKeyPrefixPage:
+ description: A list of Test Distribution pool-specific agent registration key prefixes.
+ type: object
+ required:
+ - content
+ properties:
+ content:
+ type: array
+ items:
+ $ref: '#/components/schemas/TestDistributionAgentPoolRegistrationKeyPrefix'
+ TestDistributionAgentPoolRegistrationKeyDescription:
+ description: Optional description of a Test Distribution pool-specific agent registration key.
+ type: object
+ properties:
+ description:
+ type: string
+ maxLength: 100
+ description: Description of the registration key to help identify it later.
+ example: Used by xyz
+ TestDistributionAgentPoolRegistrationKey:
+ description: A Test Distribution pool-specific agent registration key.
+ type: object
+ required:
+ - key
+ properties:
+ key:
+ type: string
+ minLength: 52
+ maxLength: 52
+ pattern: ^[a-z2-7]{52}$
+ description: The agent API key.
+ description:
+ type: string
+ maxLength: 100
+ description: Description of the registration key to help identify it later.
+ example: Used by xyz
+ examples:
+ RequestValidationApiProblemExample:
+ value:
+ type: urn:gradle:enterprise:api:problems:validation
+ title: Request validation failed.
+ detail: |
+ Numeric instance is lower than the required minimum (minimum: 1, found: 0) (Additional info: Query parameter: maxWaitSecs).
+ status: 400
+ NotFoundApiProblemExample:
+ value:
+ type: urn:gradle:enterprise:api:problems:not-found
+ title: The requested resource is not found or the permissions to know about it are missing.
+ status: 404
+ UnexpectedErrorApiProblemExample:
+ value:
+ type: urn:gradle:enterprise:api:problems:unexpected-error
+ title: Encountered an internal server error.
+ detail: |
+ The ingestion of build 9r4d13f0r3v3r failed.
+ status: 500
+ IngestionNotCompletedApiProblemExample:
+ value:
+ type: urn:gradle:enterprise:api:problems:build-processing-incomplete
+ title: Build processing is incomplete.
+ detail: |
+ The data of build 9r4d13f0r3v3r is not yet available for viewing. Please try again later.
+ status: 503
+ NodeNotSignedInProblemExample:
+ value:
+ type: urn:gradle:enterprise:api:problems:node-not-signed-in
+ title: Node with name not-signed-in-node1 must be signed-in before this operation can be performed.
+ status: 503
+ ForbiddenUserExample:
+ value:
+ type: urn:gradle:enterprise:forbidden
+ title: Insufficient permissions
+ detail: User must have the Administer Projects permission to access this endpoint.
+ status: 403
+ UnauthenticatedExample:
+ value:
+ type: urn:gradle:enterprise:api:problems:client-error
+ title: Something was wrong with the request
+ status: 401
+ CapabilityValidationProblemExample:
+ value:
+ type: urn:gradle:enterprise:validation
+ title: Invalid request parameters
+ detail: One or more capabilities have an invalid format.
+ status: 400
diff --git a/convention-develocity-maven-extension/extension/src/main/java/com/myorg/ConventionDevelocityListener.java b/convention-develocity-maven-extension/extension/src/main/java/com/myorg/ConventionDevelocityListener.java
index 8d6be3ea3..cbb03355d 100644
--- a/convention-develocity-maven-extension/extension/src/main/java/com/myorg/ConventionDevelocityListener.java
+++ b/convention-develocity-maven-extension/extension/src/main/java/com/myorg/ConventionDevelocityListener.java
@@ -19,7 +19,7 @@ public void configure(DevelocityApi develocity, MavenSession session) {
private void configureDevelocity(DevelocityApi develocity) {
// CHANGE ME: Apply your Develocity configuration here
- develocity.setServer("https://develocity-samples.gradle.com");
+ develocity.setServer("https://ge.solutions-team.gradle.com");
configureBuildScan(develocity.getBuildScan());
}
diff --git a/convention-develocity-maven-extension/extension/src/main/java/com/myorg/OpenApiConfigurer.java b/convention-develocity-maven-extension/extension/src/main/java/com/myorg/OpenApiConfigurer.java
new file mode 100644
index 000000000..689ebd173
--- /dev/null
+++ b/convention-develocity-maven-extension/extension/src/main/java/com/myorg/OpenApiConfigurer.java
@@ -0,0 +1,66 @@
+package com.myorg;
+
+import org.apache.maven.AbstractMavenLifecycleParticipant;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+import java.util.Optional;
+import java.util.function.Function;
+import java.util.stream.Stream;
+
+@Component(role = AbstractMavenLifecycleParticipant.class, hint = "openapi-configurer")
+public class OpenApiConfigurer extends AbstractMavenLifecycleParticipant {
+ private static final String OPENAPI_PLUGIN_ARTIFACT_ID = "openapi-generator-maven-plugin";
+
+ @Override
+ public void afterProjectsRead(MavenSession session) {
+ String suppressTimestamp = System.getProperty("openapi.suppressTimestampGeneration", "true");
+ if (!Boolean.parseBoolean(suppressTimestamp)) {
+ return;
+ }
+
+ session.getProjects().stream()
+ .flatMap(getPluginsWithId(OPENAPI_PLUGIN_ARTIFACT_ID))
+ .flatMap(plugin -> plugin.getExecutions().stream())
+ .forEach(OpenApiConfigurer::suppressTimestampGeneration);
+ }
+
+ private static void suppressTimestampGeneration(PluginExecution pluginExecution) {
+ Xpp3Dom configuration = getOrCreateConfiguration(pluginExecution);
+ Xpp3Dom configOptions = getChild(configuration, "configOptions");
+ Xpp3Dom hideGenerationTimestamp = getChild(configOptions, "hideGenerationTimestamp");
+ hideGenerationTimestamp.setValue("true");
+ }
+
+ @SuppressWarnings("SameParameterValue")
+ private static Function> getPluginsWithId(String artifactId) {
+ return project -> project.getBuild().getPlugins().stream()
+ .filter(p -> artifactId.equals(p.getArtifactId()));
+ }
+
+ private static Xpp3Dom getOrCreateConfiguration(PluginExecution pluginExecution) {
+ return Optional.ofNullable((Xpp3Dom) pluginExecution.getConfiguration())
+ .orElseGet(() -> createConfiguration(pluginExecution));
+ }
+
+ private static Xpp3Dom createConfiguration(PluginExecution pluginExecution) {
+ Xpp3Dom configuration = new Xpp3Dom("configuration");
+ pluginExecution.setConfiguration(configuration);
+ return configuration;
+ }
+
+ private static Xpp3Dom getChild(Xpp3Dom parent, String name) {
+ return Optional.ofNullable(parent.getChild(name))
+ .orElseGet(() -> createChild(parent, name));
+ }
+
+ private static Xpp3Dom createChild(Xpp3Dom parent, String name) {
+ Xpp3Dom child = new Xpp3Dom(name);
+ parent.addChild(child);
+ return child;
+ }
+}
\ No newline at end of file
diff --git a/convention-develocity-maven-extension/extension/src/main/resources/META-INF/plexus/components.xml b/convention-develocity-maven-extension/extension/src/main/resources/META-INF/plexus/components.xml
index 15a3fa014..b86ff395b 100644
--- a/convention-develocity-maven-extension/extension/src/main/resources/META-INF/plexus/components.xml
+++ b/convention-develocity-maven-extension/extension/src/main/resources/META-INF/plexus/components.xml
@@ -8,5 +8,12 @@
Configures the Develocity Maven extension for com.myorgfalse
+
+ org.apache.maven.AbstractMavenLifecycleParticipant
+ openapi-configurer
+ com.myorg.OpenApiConfigurer
+ Configures OpenAPI to hide timestamps in Generated annotations
+ false
+