openapi: 3.0.3
info:
title: Auth Develocity API
description: 'The Develocity API allows programmatic interaction with various aspects of Develocity, from configuration to inspecting build data.
'
version: 2026.2.0
license:
name: Develocity License
url: https://gradle.com/help/legal-gradle-software-license-agreement
termsOfService: https://gradle.com/help/legal-terms-of-use
contact:
name: Gradle
url: https://gradle.com
x-logo:
url: https://assets.gradle.com/logo/develocity-logo.svg
altText: Develocity
servers:
- url: https://develocity.example.com
description: Your Develocity instance.
security:
- DevelocityAccessKeyOrToken: []
tags:
- name: Develocity
x-traitTag: true
description: All endpoints of the Develocity API.
paths:
/api/auth/revoke-signing-keys:
post:
operationId: RevokeSigningKeys
summary: Revoke auth token signing keys
description: Revokes the existing auth token signing keys, and creates a new one. Requires the `Configure operational settings` permission. All existing access tokens will become invalid. Develocity may take a few minutes to revoke all existing access tokens.
tags:
- Develocity
responses:
'200':
description: The existing signing keys have been revoked, all access tokens will become invalid shortly
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/api/auth/token:
post:
operationId: CreateAccessToken
summary: Create a new access token
description: Create a new short-lived access token, optionally limited to the provided permissions and projects. Users do not need any specific Develocity permission to do this, but must be authenticated. If an access key is used to authenticate this request, the created token will be limited to the user's permissions and projects. If an access token is used to authenticate this request, the created token will be limited to the authenticating token's permissions and projects and not live longer than the authenticating token's remaining lifetime. Query parameters can be used to further restrict the permissions of the access token. A 401 response will be sent if the request is not authenticated. A 403 response will be sent if one of the projects or permissions present in the query parameters is not assigned to this user. A 403 will also be sent if an access token is used to authenticate the request and the requested expiration date is after the authenticating access token's expiration.
tags:
- Develocity
parameters:
- in: query
name: projectIds
schema:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/ProjectId'
example:
- project-a,project-b
- project-c
explode: true
required: false
description: Limit the created token to one or more projects. Values should be project ids. Comma seperated values and repeated parameters are supported.
- in: query
name: permissions
schema:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/Permission'
example:
- publishScan,readCache
- writeCache
explode: true
required: false
description: Limit the created token to one or more permissions. Values should be permission [config values](https://gradle.com/help/helm-admin-permissions). Comma seperated values and repeated parameters are supported.
- in: query
name: expiresInHours
schema:
type: number
format: float
minimum: 0
exclusiveMinimum: true
maximum: 24
default: 2
example: 0.5
required: false
description: The lifetime of the created token, in hours.
responses:
'200':
description: An access token
content:
text/plain:
schema:
type: string
example: eyJraWQiOiJ0ZXN0LWtleSIsImFsZyI6IlJTMjU2IiwidHlwIjoiSldUIn0.eyJpc19hbm9ueW1vdXMiOmZhbHNlLCJwZXJtaXNzaW9ucyI6WyJSRUFEX1ZFUlNJT04iLCJFWFBPUlRfREFUQSIsIkFDQ0VTU19EQVRBX1dJVEhPVVRfQVNTT0NJQVRFRF9QUk9KRUNUIl0sInByb2plY3RzIjp7ImEiOjEsImIiOjJ9LCJ1c2VyX2lkIjoic29tZS1pZCIsInVzZXJuYW1lIjoidGVzdCIsImZpcnN0X25hbWUiOiJhIiwibGFzdF9uYW1lIjoidXNlciIsImVtYWlsIjoiYkBncmFkbGUuY29tIiwic3ViIjoidGVzdCIsImV4cCI6NzIwMCwibmJmIjowLCJpYXQiOjAsImF1ZCI6ImV4YW1wbGUuZ3JhZGxlLmNvbSIsImlzcyI6ImV4YW1wbGUuZ3JhZGxlLmNvbSIsInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4ifQ.H1_NEG1xuleP-WIAY_uvSmdd2o7i_-Ko3qhlo04zvCgrElJe7_F5jNuqsyDfnb5hvKlOe5UKG_7QPTgY9-3pFQ
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/AccessTokenForbidden'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/api/build-cache/nodes/{name}:
parameters:
- in: path
name: name
schema:
type: string
required: true
description: The name of the Build Cache Node. To select the Built-in Build Cache Node, use `Built-in` as name.
get:
operationId: GetBuildCacheNode
summary: View the configuration of a Build Cache Node.
description: View the enablement status and replication configuration of a Build Cache Node.
tags:
- 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:
- Develocity
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodeConfiguration'
example:
enabled: false
replication:
source: parent-node-1
preemptive: true
responses:
'200':
description: The name referenced an existing Build Cache Node and that Build Cache Node’s configuration was updated successfully.
'201':
description: A new Build Cache Node was created with the configuration specified in the request.
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
/api/build-cache/nodes/{name}/purge:
parameters:
- in: path
name: name
schema:
type: string
required: true
description: The name of the Build Cache Node. To select the Built-in Build Cache Node, use `Built-in` as name.
post:
operationId: InitiatePurgeOfBuildCacheNode
summary: Deletes all entries from a Build Cache Node.
description: 'Triggers the deletion of all entries stored at the named Build Cache Node.
'
tags:
- Develocity
responses:
'202':
description: Purging the Build Cache Node was successfully initiated.
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NodeNotSignedInError'
/api/build-cache/nodes/{name}/secret:
parameters:
- in: path
name: name
schema:
type: string
required: true
description: The name of the Build Cache Node.
post:
operationId: RegenerateSecretOfBuildCacheNode
summary: Regenerate the secret of a Build Cache Node.
description: 'Regenerates the secret associated with the named Build Cache Node. The old secret expires immediately, causing the Build Cache Node to
disconnect from Develocity. The Built-in Build Cache Node cannot be named as the target of this operation.
'
tags:
- Develocity
responses:
'200':
description: The name referenced an existing Build Cache Node and that Build Cache Node's secret was regenerated.
content:
application/json:
schema:
$ref: '#/components/schemas/KeySecretPair'
example:
key: cvzxztkqkqxzc3vcruabpcr264
secret: e5ag76yp6abcc5jbxusboca313
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/api/builds:
description: 'Returns a list of builds with common attributes.
The returned list is capped by the `maxBuilds` and `maxWaitSecs` query parameters.
This endpoint supports pagination by using the `fromBuild` or `sinceBuild` query parameters, and the last returned build from a previous call to one of these endpoints.
'
parameters:
- in: query
name: BuildsQuery
explode: true
description: The query parameters used to retrieve the list of builds.
schema:
title: BuildsQuery
type: object
properties:
fromInstant:
type: integer
format: int64
minimum: 0
nullable: true
description: 'A unix-epoch-time in milliseconds allowing to retrieve builds for which Develocity completed receiving and processing the build after this instant when used in conjunction with `reverse=false`, or before this instant when used in conjunction with `reverse=true`.
Therefore, a value of `0` will process all builds.
If not provided, the time in milliseconds when the request is received by the Develocity instance will be used.
This parameter has no effect if `fromBuild` is used.
'
fromBuild:
type: string
nullable: true
description: 'A Build Scan ID allowing to retrieve builds for which Develocity completed receiving and processing after the given Build Scan ID (excluding it) when used in conjunction with `reverse=false`, or before the given Build Scan ID (excluding it) when used in conjunction with `reverse=true`.
This parameter has precedence over any value set for the `since`, `sinceBuild`, `fromInstant` parameters.
A valid Build Scan ID must be provided, that is, a Build Scan ID that exists in the Develocity instance.
A Build Scan ID for a deleted build is valid.
'
reverse:
type: boolean
nullable: true
description: 'A boolean indicating the time direction of the query.
A value of `true` indicates a backward query, and returned builds will be sorted from most to least recent.
A value of `false` indicates a forward query, and returned builds will be sorted from least to most recent.
This parameter has no effect if any of `since`, `sinceBuild` are used.
If not provided, the default value is `false`.
'
maxBuilds:
type: integer
minimum: 0
maximum: 1000
nullable: true
description: 'The maximum number of builds returned by the query.
The query returns when that number is reached or when `maxWaitSecs` is reached.
If not provided, the default value is `100`.
'
maxWaitSecs:
type: integer
minimum: 1
maximum: 20
nullable: true
description: 'The maximum number of seconds to wait for builds before returning.
If this time is reached before `maxBuilds` is reached, the query returns with the already processed builds.
Note that this time is respected with best effort.
A query will return soon after this time has passed but there is no guarantee that it exactly returns before this time has passed.
This parameter has no effect if `reverse=true` is specified, because new builds cannot become available in the past.
If not provided, the default value is `3`.
'
query:
type: string
nullable: true
description: 'A query for filtering builds, written in the Develocity advanced search query language
See: https://gradle.com/help/advanced-search
'
models:
$ref: '#/components/schemas/BuildModelNames'
allModels:
type: boolean
default: false
description: 'Whether to include all build models for each build.
If set to `true`, the value of the `models` parameter is ignored.
'
since:
type: integer
format: int64
minimum: 0
nullable: true
description: '**This parameter is deprecated, use `fromInstant` instead.**
A unix-epoch-time in milliseconds allowing to retrieve builds for which Develocity completed receiving and processing the build after this instant.
This parameter can only be used with `reverse=false`.
Therefore, a value of `0` will process all builds.
If not provided, the time in milliseconds when the request is received by the Develocity instance will be used.
This parameter has no effect if any of `sinceBuild`, `fromInstant`, `fromBuild` are used.
'
deprecated: true
sinceBuild:
type: string
nullable: true
description: '**This parameter is deprecated, use `fromBuild` instead.**
A Build Scan ID allowing to retrieve builds for which Develocity completed receiving and processing after the given Build Scan ID (excluding it).
This parameter can only be used with `reverse=false`.
This parameter has precedence over any value set for the `since` parameter.
A valid Build Scan ID must be provided, that is, a Build Scan ID that exists in the Develocity instance.
A Build Scan ID for a deleted build is valid.
This parameter has no effect if any of `fromInstant`, `fromBuild` are used.
'
deprecated: true
skipUnavailableModels:
type: boolean
default: false
description: 'Will skip build models that are not available at the time of the handling of the call.
'
get:
operationId: GetBuilds
summary: Get a list of builds with common attributes.
description: 'The contained attributes are build tool agnostic.
If none of `fromInstant`, `fromBuild`, or `reverse` is used, when making a request to this endpoint, it will return builds that were received and processed by Develocity after the request was made.
'
tags:
- Develocity
responses:
'200':
description: A list of builds with common attributes.
content:
application/json:
schema:
$ref: '#/components/schemas/Builds'
example:
- id: 9r4d13f0r3v3r
availableAt: 1635400481000
buildToolType: gradle
buildToolVersion: '7.2'
buildAgentVersion: 3.7.1
models:
gradleAttributes:
model:
id: 9r4d13f0r3v3r
buildStartTime: 1637316480
buildDuration: 5000
gradleVersion: '7.3'
pluginVersion: 3.7.2
rootProjectName: example-project
requestedTasks:
- clean
- build
hasFailed: true
hasVerificationFailure: true
hasNonVerificationFailure: true
tags:
- CI
- feature-branch
values:
- name: branch
value: feature/one
- name: commitId
value: c874006021712affa4e7bd82d2ec4cd06beaa4f5
links:
- label: CI job
url: https://ci.com/job1
- label: GIT commit
url: https://git.com/c874006021712affa4e7bd82d2ec4cd06beaa4f5
gradleEnterpriseSettings:
backgroundPublicationEnabled: true
buildOutputCapturingEnabled: true
taskInputsFileCapturingEnabled: true
testOutputCapturingEnabled: true
resourceUsageCapturingEnabled: true
develocitySettings:
backgroundPublicationEnabled: true
buildOutputCapturingEnabled: true
fileFingerprintCapturingEnabled: true
taskInputsFileCapturingEnabled: true
testOutputCapturingEnabled: true
resourceUsageCapturingEnabled: true
buildOptions:
buildCacheEnabled: true
configurationCacheEnabled: true
configurationOnDemandEnabled: true
continuousBuildEnabled: true
continueOnFailureEnabled: true
daemonEnabled: true
dryRunEnabled: true
excludedTasks:
- takesALongTime
- doesNotLikeToBeExecuted
fileSystemWatchingEnabled: true
maxNumberOfGradleWorkers: 4
offlineModeEnabled: true
parallelProjectExecutionEnabled: true
refreshDependenciesEnabled: true
rerunTasksEnabled: true
environment:
username: gradle
operatingSystem: macOS 12.2.1 (x86_64)
numberOfCpuCores: 16
jreVersion: AdoptOpenJDK OpenJDK Runtime Environment 11.0.11+9
jvmVersion: AdoptOpenJDK OpenJDK 64-Bit Server VM 11.0.11+9 (mixed mode)
jvmMaxMemoryHeapSize: 16777216
jvmCharset: UTF-8
jvmLocale: English (United States)
publicHostname: agent.gradle.com
localHostname: gradle
localIpAddresses:
- 192.168.1.126
- 192.168.1.128
gradleDependencies:
model:
dependencies:
- scheme: pkg
type: maven
namespace: org.apache.xmlgraphics
name: batik-anim
version: 1.9.1
qualifiers:
repository_url: https://repo.maven.apache.org/maven2/
purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F
repository:
url: https://repo.maven.apache.org/maven2/
type: maven
resolutionSource: remote
mavenAttributes:
problem:
type: urn:gradle:enterprise:api:problems:build-model-not-applicable
title: Build model is not applicable.
detail: Build model is not available for build with ID '9r4d13f0r3v3r' because its build tool type is 'gradle' (allowed list is '[maven]').
status: 400
- id: ji7vz3ey5qdvk
availableAt: 1635400482000
buildToolType: maven
buildToolVersion: 3.8.4
buildAgentVersion: '1.13'
models:
gradleAttributes:
problem:
type: urn:gradle:enterprise:api:problems:build-model-not-applicable
title: Build model is not applicable.
detail: Build model is not available for build with ID 'ji7vz3ey5qdvk' because its build tool type is 'maven' (allowed list is '[gradle]').
status: 400
mavenAttributes:
model:
id: 9r4d13f0r3v3r
buildStartTime: 1637316480
buildDuration: 11000
mavenVersion: 3.8.4
extensionVersion: 1.11.1
topLevelProjectName: example-project
requestedGoals:
- clean
- verify
hasFailed: true
hasVerificationFailure: true
hasNonVerificationFailure: true
tags:
- CI
- feature-branch
values:
- name: branch
value: feature/one
- name: commitId
value: c874006021712affa4e7bd82d2ec4cd06beaa4f5
links:
- label: CI job
url: https://ci.com/job1
- label: GIT commit
url: https://git.com/c874006021712affa4e7bd82d2ec4cd06beaa4f5
develocitySettings:
backgroundPublicationEnabled: true
buildOutputCapturingEnabled: true
fileFingerprintCapturingEnabled: true
goalInputsFileCapturingEnabled: true
testOutputCapturingEnabled: true
resourceUsageCapturingEnabled: true
buildOptions:
batchModeEnabled: true
debugEnabled: true
errorsEnabled: true
failAtEndEnabled: true
failFastEnabled: true
failNeverEnabled: true
laxChecksumsEnabled: true
maxNumberOfThreads: 4
nonRecursiveEnabled: true
noSnapshotsUpdatesEnabled: true
offlineModeEnabled: true
quietEnabled: true
rerunGoals: false
strictChecksumsEnabled: true
updateSnapshotsEnabled: true
environment:
username: maven
operatingSystem: macOS 12.2.1 (x86_64)
numberOfCpuCores: 16
jreVersion: AdoptOpenJDK OpenJDK Runtime Environment 11.0.11+9
jvmVersion: AdoptOpenJDK OpenJDK 64-Bit Server VM 11.0.11+9 (mixed mode)
jvmMaxMemoryHeapSize: 16777216
jvmCharset: UTF-8
jvmLocale: English (United States)
publicHostname: agent.gradle.com
localHostname: maven
localIpAddresses:
- 192.168.1.126
- 192.168.1.128
gradleEnterpriseSettings:
backgroundPublicationEnabled: true
buildOutputCapturingEnabled: true
goalInputsFileCapturingEnabled: true
testOutputCapturingEnabled: true
resourceUsageCapturingEnabled: true
mavenDependencies:
model:
dependencies:
- scheme: pkg
type: maven
namespace: org.apache.xmlgraphics
name: batik-anim
version: 1.9.1
qualifiers:
repository_url: https://repo.maven.apache.org/maven2/
type: jar
purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F&type=jar
repository:
url: https://repo.maven.apache.org/maven2/
type: maven
resolutionSource: remote
- id: cvpd4j7ug7j4q
availableAt: 1635400483000
buildToolType: bazel
buildToolVersion: 6.0.0
buildAgentVersion: '1.0'
models:
gradleAttributes:
problem:
type: urn:gradle:enterprise:api:problems:build-model-not-applicable
title: Build model is not applicable.
detail: Build model is not available for build with ID 'cvpd4j7ug7j4q' because its build tool type is 'bazel' (allowed list is '[gradle]').
status: 400
mavenAttributes:
problem:
type: urn:gradle:enterprise:api:problems:build-model-not-applicable
title: Build model is not applicable.
detail: Build model is not available for build with ID 'cvpd4j7ug7j4q' because its build tool type is 'bazel' (allowed list is '[maven]').
status: 400
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/builds/{id}:
parameters:
- in: path
name: id
schema:
type: string
required: true
description: The Build Scan ID.
- in: query
name: BuildQuery
explode: true
description: The query parameters used to retrieve the common attributes of a build.
schema:
$ref: '#/components/schemas/BuildQuery'
get:
operationId: GetBuild
summary: Get the common attributes of a build.
description: The contained attributes are build tool agnostic.
tags:
- 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
qualifiers:
repository_url: https://repo.maven.apache.org/maven2/
purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F
repository:
url: https://repo.maven.apache.org/maven2/
type: maven
resolutionSource: remote
'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:
- 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}/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:
- 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-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:
- 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-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:
- 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}/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:
- 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
hasFailed: false
- taskPath: :task2
taskType: org.gradle.api.tasks.Task
avoidanceOutcome: avoided_from_remote_cache
duration: 3000
fingerprintingDuration: 3
avoidanceSavings: 4000
cacheArtifactSize: 3000
hasFailed: false
- 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'
hasFailed: false
- taskPath: :task4
taskType: org.gradle.api.tasks.Task
avoidanceOutcome: skipped
duration: 0
fingerprintingDuration: 0
skipReasonMessage: some skip reason message
hasFailed: false
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}/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:
- 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}/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:
- 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}/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:
- Develocity
responses:
'200':
description: The dependencies of a Gradle build.
content:
application/json:
schema:
$ref: '#/components/schemas/GradleDependencies'
example:
dependencies:
- scheme: pkg
type: maven
namespace: org.apache.xmlgraphics
name: batik-anim
version: 1.9.1
qualifiers:
repository_url: https://repo.maven.apache.org/maven2/
purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F
repository:
url: https://repo.maven.apache.org/maven2/
type: maven
resolutionSource: remote
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/builds/{id}/gradle-dependency-caching:
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 dependency caching metrics of a Gradle build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetGradleDependencyCaching
summary: Get dependency caching metrics 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 5.0 and Develocity Gradle Plugin version 4.4.
tags:
- Develocity
responses:
'200':
description: Dependency caching metrics of a Gradle build.
content:
application/json:
schema:
$ref: '#/components/schemas/GradleDependencyCaching'
example:
downloadedFileCount: 4
downloadedFileSize: 6000
cachedFileCount: 6
cachedFileSize: 9000
'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:
- 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-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:
- 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
methods:
HEAD:
networkRequestCount: 2
serialNetworkRequestTime: 22
fileDownloadCount: 0
fileDownloadSize: 0
wallClockNetworkRequestTime: 5
GET:
networkRequestCount: 18
serialNetworkRequestTime: 478
fileDownloadCount: 18
fileDownloadSize: 2049
wallClockNetworkRequestTime: 237
repositories:
https://plugins.gradle.org/m2:
networkRequestCount: 2
serialNetworkRequestTime: 22
fileDownloadCount: 0
fileDownloadSize: 0
wallClockNetworkRequestTime: 5
https://repo.maven.apache.org/maven2/:
networkRequestCount: 18
serialNetworkRequestTime: 478
fileDownloadCount: 18
fileDownloadSize: 2049
wallClockNetworkRequestTime: 237
repositoryMethods:
HEAD https://plugins.gradle.org/m2:
networkRequestCount: 2
serialNetworkRequestTime: 22
fileDownloadCount: 0
fileDownloadSize: 0
wallClockNetworkRequestTime: 5
GET https://repo.maven.apache.org/maven2/:
networkRequestCount: 18
serialNetworkRequestTime: 478
fileDownloadCount: 18
fileDownloadSize: 2049
wallClockNetworkRequestTime: 237
'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:
- 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}/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:
- 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}/gradle-repository-instabilities:
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 repository instabilities of a Gradle build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetGradleRepositoryInstabilities
summary: Get repository instabilities 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 5.0 and Develocity Gradle Plugin version 3.19.
tags:
- Develocity
responses:
'200':
description: Repository instabilities of a Gradle build.
content:
application/json:
schema:
$ref: '#/components/schemas/GradleRepositoryInstabilities'
example:
hasFailedDueToRepositoryInstability: true
networkRequestCount: 100
networkRequestErrorCount: 42
serialNetworkRequestTime: 12000
serialNetworkRequestErrorTime: 4200
networkRequestErrorCategories:
- categoryName: Missing
networkRequestErrorCount: 40
serialNetworkRequestErrorTime: 4000
- categoryName: Uncategorized
networkRequestErrorCount: 2
serialNetworkRequestErrorTime: 200
repositories:
- url: https://repo1.maven.org/maven2/
networkRequestCount: 60
networkRequestErrorCount: 42
serialNetworkRequestTime: 8000
serialNetworkRequestErrorTime: 4200
networkRequestErrorCategories:
- categoryName: Missing
networkRequestErrorCount: 40
serialNetworkRequestErrorTime: 4000
- categoryName: Uncategorized
networkRequestErrorCount: 2
serialNetworkRequestErrorTime: 200
'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:
- Develocity
responses:
'200':
description: The resource usage of a Gradle build.
content:
application/json:
schema:
$ref: '#/components/schemas/GradleResourceUsage'
example:
totalMemory: 68719476736
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-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:
- 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
selectionMode: relevant
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
selectionMode: relevant
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
selectionMode: relevant
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-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:
- 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}/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:
- 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.
hasFailed: false
- 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
hasFailed: false
- 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
hasFailed: false
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}/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:
- 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}/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:
- Develocity
responses:
'200':
description: The dependencies of a Maven build.
content:
application/json:
schema:
$ref: '#/components/schemas/MavenDependencies'
example:
dependencies:
- scheme: pkg
type: maven
namespace: org.apache.xmlgraphics
name: batik-anim
version: 1.9.1
qualifiers:
repository_url: https://repo.maven.apache.org/maven2/
type: jar
purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?repository_url=https%3A%2F%2Frepo.maven.apache.org%2Fmaven2%2F&type=jar
repository:
url: https://repo.maven.apache.org/maven2/
type: maven
resolutionSource: remote
'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-caching:
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 dependency caching metrics of a Maven build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetMavenDependencyCaching
summary: Get dependency caching metrics 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 Maven version 3.3.1 and Develocity Maven Extension version 2.4.
tags:
- Develocity
responses:
'200':
description: Dependency caching metrics of a Maven build.
content:
application/json:
schema:
$ref: '#/components/schemas/MavenDependencyCaching'
example:
downloadedFileCount: 7
downloadedFileSize: 13000
cachedFileCount: 5
cachedFileSize: 8000
'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:
- 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
methods:
GET:
networkRequestCount: 10
serialNetworkRequestTime: 1000
fileDownloadSize: 1025
fileDownloadCount: 8
wallClockNetworkRequestTime: 50
repositories:
https://repo.maven.apache.org/maven2/:
networkRequestCount: 10
serialNetworkRequestTime: 1000
fileDownloadSize: 1025
fileDownloadCount: 8
wallClockNetworkRequestTime: 50
repositoryMethods:
GET https://repo.maven.apache.org/maven2/:
networkRequestCount: 10
serialNetworkRequestTime: 1000
fileDownloadSize: 1025
fileDownloadCount: 8
wallClockNetworkRequestTime: 50
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/builds/{id}/maven-extensions:
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 extensions for a Maven build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetMavenExtensions
summary: Get the extensions of a Maven build.
description: This model is Maven specific and cannot be requested for another build tool.
tags:
- Develocity
responses:
'200':
description: The list of extensions in a Maven build.
content:
application/json:
schema:
$ref: '#/components/schemas/MavenExtensions'
example:
extensions:
- groupId: org.apache.maven
artifactId: maven-core
version: 3.9.9
type: CORE
'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:
- 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}/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:
- 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}/maven-repository-instabilities:
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 repository instabilities of a Maven build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetMavenRepositoryInstabilities
summary: Get repository instabilities of a Maven build.
description: This model is Maven specific and cannot be requested for another build tool.
tags:
- Develocity
responses:
'200':
description: Repository instabilities of a Maven build.
content:
application/json:
schema:
$ref: '#/components/schemas/MavenRepositoryInstabilities'
example:
hasFailedDueToRepositoryInstability: true
networkRequestCount: 100
networkRequestErrorCount: 42
serialNetworkRequestTime: 12000
serialNetworkRequestErrorTime: 4200
networkRequestErrorCategories:
- categoryName: Missing
networkRequestErrorCount: 40
serialNetworkRequestErrorTime: 4000
- categoryName: Uncategorized
networkRequestErrorCount: 2
serialNetworkRequestErrorTime: 200
repositories:
- url: https://repo1.maven.org/maven2/
networkRequestCount: 60
networkRequestErrorCount: 42
serialNetworkRequestTime: 8000
serialNetworkRequestErrorTime: 4200
networkRequestErrorCategories:
- categoryName: Missing
networkRequestErrorCount: 40
serialNetworkRequestErrorTime: 4000
- categoryName: Uncategorized
networkRequestErrorCount: 2
serialNetworkRequestErrorTime: 200
'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:
- Develocity
responses:
'200':
description: The resource usage of a Maven build.
content:
application/json:
schema:
$ref: '#/components/schemas/MavenResourceUsage'
example:
totalMemory: 68719476736
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-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:
- 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
selectionMode: relevant
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
selectionMode: relevant
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
selectionMode: relevant
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}/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:
- Develocity
responses:
'200':
description: The attributes of an npm build.
content:
application/json:
schema:
$ref: '#/components/schemas/NpmAttributes'
example:
id: 9r4d13f0r3v3r
buildStartTime: 1637316480
buildDuration: 11000
exitCode: 1
nodejsVersion: 22.17.0
npmVersion: 10.9.2
npmAgentVersion: 3.0.0
command:
command: run
arguments:
- test
links:
- label: CI job
url: https://ci.com/job1
- label: GIT commit
url: https://git.com/c874006021712affa4e7bd82d2ec4cd06beaa4f5
tags:
- CI
- feature-branch
values:
- name: branch
value: feature/one
- name: commitId
value: c874006021712affa4e7bd82d2ec4cd06beaa4f5
user: npm
host: agent.gradle.com
packageName: example-project
hasFailed: true
hasVerificationFailure: true
hasNonVerificationFailure: true
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/builds/{id}/npm-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 an npm build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetNpmDependencies
summary: Get the dependencies of an npm build.
description: This model is npm specific and cannot be requested for another build tool.
tags:
- Develocity
responses:
'200':
description: The dependencies of an npm build.
content:
application/json:
schema:
$ref: '#/components/schemas/NpmDependencies'
example:
dependencies:
- scheme: pkg
type: npm
namespace: angular
name: common
version: 20.1.3
qualifiers:
repository_url: https://registry.npmjs.org/
purl: pkg:npm/%40angular/common@20.1.3?repository_url=https%3A%2F%2Fregistry.npmjs.org%2F
repository:
url: https://registry.npmjs.org/
type: npm
resolutionSource: remote
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/builds/{id}/npm-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 an npm build.
schema:
$ref: '#/components/schemas/BuildModelQuery'
get:
operationId: GetNpmNetworkActivity
summary: Get the network activity of an npm build.
description: This model is npm specific and cannot be requested for another build tool. This model is only available starting with the Develocity npm agent version 3.0.0.
tags:
- Develocity
responses:
'200':
description: The network activity of an npm build.
content:
application/json:
schema:
$ref: '#/components/schemas/NpmNetworkActivity'
example:
networkRequestCount: 10
serialNetworkRequestTime: 1000
wallClockNetworkRequestTime: 50
fileDownloadSize: 1025
fileDownloadCount: 8
methods:
GET:
networkRequestCount: 10
serialNetworkRequestTime: 1000
fileDownloadSize: 1025
fileDownloadCount: 8
wallClockNetworkRequestTime: 50
registries:
https://registry.npmjs.org/:
networkRequestCount: 10
serialNetworkRequestTime: 1000
fileDownloadSize: 1025
fileDownloadCount: 8
wallClockNetworkRequestTime: 50
registryMethods:
GET https://registry.npmjs.org/:
networkRequestCount: 10
serialNetworkRequestTime: 1000
fileDownloadSize: 1025
fileDownloadCount: 8
wallClockNetworkRequestTime: 50
'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:
- 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:
- 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/comparison/inputs:
description: 'Work unit input comparison between two builds.
Always returns full detail for each work unit (including valueInputChanges, fileInputChanges, outputChanges, actions).
The response is paginated. Optional filters (workUnitPath, cacheability, className) narrow which work units are returned.
'
get:
operationId: GetComparisonInputs
summary: Get work unit input differences between two builds.
description: '**Beta:** Returns work unit input comparison data with full detail for each work unit.
Each work unit includes identity, difference types, build metadata, and all change details
(value input changes, file input changes with recursive file tree, output changes, and action changes).
Optional filters narrow which work units are returned:
- `workUnitPath`: filter by specific work unit path(s). For Gradle, this is the task path (e.g. `:app:compileJava`). For Maven, this is the full goal execution coordinates (e.g. `groupId:artifactId:goalName:executionId`).
- `cacheability`: filter by cacheability status (e.g. `CACHEABLE`).
- `className`: filter by work unit implementation class name (e.g. `org.gradle.api.tasks.compile.JavaCompile`).
'
tags:
- Develocity
parameters:
- in: query
name: ComparisonInputsQuery
explode: true
description: The query parameters for the comparison inputs.
schema:
title: ComparisonInputsQuery
type: object
required:
- buildIdA
- buildIdB
properties:
buildIdA:
type: string
description: Build Scan ID of build A.
buildIdB:
type: string
description: Build Scan ID of build B.
workUnitPath:
type: array
items:
type: string
description: 'Filter by specific work unit path(s). Can be repeated for multiple paths.
For Gradle, this is the task path (e.g. `:app:compileJava`).
For Maven, this is the full goal execution coordinates (e.g. `groupId:artifactId:goalName:executionId`).
'
cacheability:
type: string
description: 'Filter work units by cacheability status (e.g. `CACHEABLE`).
Only returns work units where at least one build has this cacheability.
'
className:
type: string
description: 'Filter work units by implementation class name (e.g. `org.gradle.api.tasks.compile.JavaCompile`).
Returns all work units matching this class in either build.
'
offset:
type: integer
format: int32
default: 0
minimum: 0
description: The offset of the first work unit to return.
limit:
type: integer
format: int32
default: 20
minimum: 1
maximum: 1000
description: The maximum number of work units to return.
responses:
'200':
description: Work unit input comparison data with full detail for each work unit.
content:
application/json:
schema:
$ref: '#/components/schemas/ComparisonInputsResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/comparison/summary:
description: 'A summary of differences between two builds.
'
get:
operationId: GetComparisonSummary
summary: Get a summary of differences between two builds.
description: '**Beta:** Returns a summary of which comparison dimensions have differences between two builds.
Both builds must use the same build tool (both Gradle or both Maven).
'
tags:
- Develocity
parameters:
- in: query
name: ComparisonSummaryQuery
explode: true
description: The query parameters for the comparison summary.
schema:
title: ComparisonSummaryQuery
type: object
required:
- buildIdA
- buildIdB
properties:
buildIdA:
type: string
description: Build Scan ID of build A.
buildIdB:
type: string
description: Build Scan ID of build B.
responses:
'200':
description: The comparison summary.
content:
application/json:
schema:
$ref: '#/components/schemas/ComparisonSummary'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/failures/builds/{id}:
parameters:
- in: path
name: id
schema:
type: string
required: true
description: The Build Scan ID.
- in: query
name: BuildFailuresQuery
explode: true
description: The query parameters used to retrieve the failures of a build.
schema:
$ref: '#/components/schemas/BuildFailuresQuery'
get:
operationId: GetBuildFailures
summary: Get the failures of a build.
description: '**Beta:** Returns the failures of a build, organized by build tool (Gradle, Maven, npm).
The response structure includes nested objects for each build tool containing their respective failures.
'
tags:
- Develocity
responses:
'200':
description: The failures of a build.
content:
application/json:
schema:
$ref: '#/components/schemas/BuildFailures'
example:
buildToolType: gradle
gradle:
buildFailures:
- header: Task :codeNarcMain failed
message: 'A failure occurred while executing org.gradle.api.plugins.quality.internal.CodeNarcAction
> CodeNarc rule violations were found. See the report at: file:///Users/user/project/build/reports/codenarc/main.html
'
taskPath: :codeNarcMain
location: Build file 'build.gradle' line 3
stacktrace: " at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)\nCaused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing org.gradle.api.plugins.quality.internal.CodeNarcAction\n at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:287)\n"
testFailures:
- id:
workUnitName: :test
suiteName: example.ExampleTest
testName: failingTest
message: 'org.junit.ComparisonFailure: expected:<[1]> but was:<[2]>
'
stacktrace: " at example.ExampleTest.failingTest(ExampleTest.java:10)\nCaused by: org.junit.ComparisonFailure: expected:<[1]> but was:<[2]>\n at org.junit.ComparisonFailure.create(ComparisonFailure.java:41)\n"
maven: null
npm: null
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
'503':
$ref: '#/components/responses/NotReadyError'
/api/failures/groups:
description: 'The failure groups for the given query
'
get:
operationId: GetFailureGroups
summary: Get a list of failure groups.
description: '**Beta:** Returns the list of failure groups.
'
tags:
- Develocity
parameters:
- in: query
name: query
explode: true
required: true
description: The query parameters used to retrieve the list of failure groups.
schema:
$ref: '#/components/schemas/FailureGroupsQuery'
responses:
'200':
description: A list of failure groups.
content:
application/json:
schema:
$ref: '#/components/schemas/FailureGroupsResponse'
example:
content:
- type: build
failureCount: 10
firstOccurrence: '2025-01-15T10:00:00Z'
lastOccurrence: '2025-06-10T15:30:00Z'
exampleFailure:
message: 'A failure occurred while executing org.gradle.api.plugins.quality.internal.CodeNarcAction
> CodeNarc rule violations were found. See the report at: file:///Users/user/project/build/reports/codenarc/main.html
'
relevantLog: 'Violation: Rule=VariableName P=2 Line=304 Msg=[Variable named isAtLeastGradle9_2 in class com.gradle.scan.server.test.vmcv.scan.tests.suitedetailsview.IntermediaryNodeFailureCrossVersionTest$IntermediaryNodeFailureCrossVersionTest_JUnit4 does not match the pattern [a-z][a-zA-Z0-9]*] Src=[def isAtLeastGradle9_2 = gradleVersion.isAtLeast(GradleVersions.V9_2_0)]
'
buildIds:
- bsfohatb6uw2u
- begl4bohhoy2i
- beo6lnhluzkbbg
- type: test
failureCount: 25
firstOccurrence: '2025-05-15T10:00:00Z'
lastOccurrence: '2025-07-11T15:30:00Z'
exampleFailure:
message: 'org.junit.ComparisonFailure: expected:<[1]> but was:<[2]>
'
buildIds:
- tsfohatb6uw2u
- teg4bohhoy2i
- teo6lnhluzkbbg
'400':
$ref: '#/components/responses/BadRequestError'
'500':
$ref: '#/components/responses/UnexpectedError'
/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:
- 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:
- 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:
- 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:
- 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/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:
- 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:
- 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:
- 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/test-distribution/agent-pools:
get:
operationId: ListTestDistributionAgentPools
summary: Lists Agent Pools.
description: Returns a list of all Agent Pools.
tags:
- 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:
- 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:
- 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:
- 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:
- 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}/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:
- 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:
- 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:
- 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:
- 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:
- Develocity
responses:
'200':
description: The registration key was revoked successfully.
'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:
- 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/tests/build/{id}:
description: 'The tests build endpoint is used to retrieve the test execution information for a specific build.
'
get:
operationId: GetBuildTests
summary: Get tests executed in the given build.
description: Retrieves summary of executed tests and containers, as well as the detailed information about each test execution in each invoked test work unit.
tags:
- Develocity
parameters:
- in: path
name: id
schema:
type: string
required: true
description: The Build Scan ID.
- in: query
name: query
explode: true
required: true
description: The query parameters used to retrieve test execution data for a build.
schema:
$ref: '#/components/schemas/BuildTestsQuery'
responses:
'200':
description: Test executions in the given build.
content:
application/json:
schema:
$ref: '#/components/schemas/BuildTestsResponse'
example:
summary:
duration:
total: 150
serial: 150
testCasesOutcomeDistribution:
total: 3
failed: 1
passed: 1
flaky: 1
skipped: 0
notSelected: 0
testContainersOutcomeDistribution:
total: 2
failed: 0
passed: 2
flaky: 0
skipped: 0
notSelected: 0
workUnits:
- name: :test
duration:
total: 150
own: 50
serial: 150
outcome: failed
tests:
- name: JUnit Jupiter
duration:
total: 100
own: 50
serial: 100
outcome:
overall: failed
own: passed
children: failed
executions:
- duration:
total: 60
own: 20
serial: 60
outcome:
overall: failed
own: passed
children: failed
- duration:
total: 40
own: 10
serial: 40
outcome:
overall: failed
own: passed
children: failed
children:
- name: org.example.TestContainer
duration:
total: 70
own: 0
serial: 70
outcome:
overall: failed
own: passed
children: failed
executions:
- duration:
total: 40
own: 0
serial: 40
outcome:
overall: failed
own: passed
children: failed
- duration:
total: 30
own: 0
serial: 30
outcome:
overall: failed
own: passed
children: failed
children:
- name: successfulTest
duration:
total: 10
outcome:
overall: passed
executions:
- duration:
total: 10
outcome:
overall: passed
children: []
- name: failingTest
duration:
total: 20
outcome:
overall: failed
executions:
- duration:
total: 10
outcome:
overall: failed
- duration:
total: 10
outcome:
overall: failed
children: []
- name: flakyTest
duration:
total: 40
outcome:
overall: flaky
executions:
- duration:
total: 20
outcome:
overall: failed
- duration:
total: 20
outcome:
overall: passed
children: []
'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. \nIt returns information about the test cases inside the given container.\n"
get:
operationId: GetTestCases
summary: Get a list of test cases.
description: Retrieves the list of test cases of a single container.
tags:
- 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/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:
- 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/version:
get:
operationId: GetVersion
summary: Provides the version of Develocity.
description: This endpoint can be accessed by any authenticated user.
tags:
- Develocity
responses:
'200':
$ref: '#/components/responses/SuccessfulVersionResponse'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
components:
schemas:
ComparisonFileNormalization:
type: object
description: The normalization strategy for a file input property.
required:
- strategy
properties:
strategy:
type: string
enum:
- IGNORED_PATH
- NAME_ONLY
- RELATIVE_PATH
- ABSOLUTE_PATH
- COMPILE_CLASSPATH
- CLASSPATH
description: The fingerprinting strategy.
directorySensitivity:
type: string
nullable: true
enum:
- DEFAULT
- IGNORE
- UNKNOWN
description: 'How empty directories are handled. Null for strategies where it doesn''t apply (COMPILE_CLASSPATH, CLASSPATH).
'
lineEndingSensitivity:
type: string
nullable: true
enum:
- DEFAULT
- NORMALIZE
- UNKNOWN
description: 'How line endings are handled. Null for strategies where it doesn''t apply (COMPILE_CLASSPATH).
'
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.
ComparisonFileInputChange:
type: object
description: A file input property that differs between builds.
required:
- name
- presence
properties:
name:
type: string
description: The input property name.
presence:
$ref: '#/components/schemas/ComparisonPresence'
description: Whether this file input property is in one or both builds.
status:
type: string
nullable: true
description: The comparison status of this file input property. Only present when `presence` is `IN_BOTH`.
normalizationA:
$ref: '#/components/schemas/ComparisonFileNormalization'
nullable: true
description: Normalization in build A. Null if the file input property is not present in build A.
normalizationB:
$ref: '#/components/schemas/ComparisonFileNormalization'
nullable: true
description: Normalization in build B. Null if the file input property is not present in build B.
differenceExplainer:
type: string
nullable: true
description: Explanation of the difference. Null if no explanation is provided.
roots:
type: array
nullable: true
description: File input roots. Null when the file input property is present in one build only.
items:
$ref: '#/components/schemas/ComparisonFileRoot'
TestDistributionAgentPoolId:
description: The unique identifier of the agent pool.
type: string
minLength: 8
maxLength: 8
pattern: ^[a-z2-7]{8}$
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.
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
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.
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
MavenExtensions:
type: object
properties:
extensions:
type: array
description: A list of applied extensions in a Maven build.
items:
$ref: '#/components/schemas/MavenExtension'
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.
MavenRepositoryInstabilitiesRepository:
type: object
description: Dependency network request metrics for a single repository, including error breakdowns.
required:
- url
- networkRequestCount
- networkRequestErrorCount
- serialNetworkRequestTime
- serialNetworkRequestErrorTime
- networkRequestErrorCategories
properties:
url:
type: string
description: The URL of the repository.
networkRequestCount:
type: integer
format: int64
minimum: 0
description: The total number of dependency network requests performed against this repository.
networkRequestErrorCount:
type: integer
format: int64
minimum: 0
description: The number of dependency network requests against this repository that failed.
serialNetworkRequestTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests against this repository. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
serialNetworkRequestErrorTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests against this repository that failed. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
networkRequestErrorCategories:
type: array
description: A breakdown of dependency network request errors for this repository by category.
items:
$ref: '#/components/schemas/MavenRepositoryInstabilitiesCategory'
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'
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.
methods:
type: object
description: A breakdown of the network activity by HTTP method, when available.
additionalProperties:
$ref: '#/components/schemas/GradleNetworkActivitySubset'
repositories:
type: object
description: 'A breakdown of the network activity by repository URL, when available. This is empty when Gradle version is lower than 4.10, Develocity plugin version is lower than 1.16, or no repositories were captured.
'
additionalProperties:
$ref: '#/components/schemas/GradleNetworkActivitySubset'
repositoryMethods:
type: object
description: A breakdown of the network activity by HTTP method and repository, when available.
additionalProperties:
$ref: '#/components/schemas/GradleNetworkActivitySubset'
NpmDependency:
allOf:
- $ref: '#/components/schemas/CommonDependency'
- type: object
GradleBuildFailure:
type: object
required:
- header
- message
properties:
header:
type: string
description: Failure header.
message:
type: string
description: Failure message.
relevantLog:
type: string
description: Relevant console log. `null` if no relevant console log has been found.
nullable: true
location:
type: string
description: Failure location, which can be a build script or source file. `null` when the failure is not location aware.
nullable: true
taskPath:
type: string
description: The task path associated with this failure. `null` if no task is associated with the failure.
nullable: true
stacktrace:
type: string
description: The stacktrace of this failure. `null` if there is no stacktrace available.
nullable: true
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'
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:\n * `HIT` - There was a configuration cache hit.\n * `MISS` - There was a configuration cache miss.\n * `FAILED` - There was a configuration cache related failure.\n"
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 in seconds.
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
BuildTestOrContainerOutcome:
type: object
required:
- overall
properties:
overall:
$ref: '#/components/schemas/TestOutcome'
own:
$ref: '#/components/schemas/TestOutcome'
children:
$ref: '#/components/schemas/TestOutcome'
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'
gradleDependencyCaching:
description: Dependency caching metrics of a Gradle build, or a report of a problem encountered.
properties:
problem:
$ref: '#/components/schemas/ApiProblem'
model:
$ref: '#/components/schemas/GradleDependencyCaching'
gradleRepositoryInstabilities:
description: Repository instabilities of a Gradle build, or a report of a problem encountered.
properties:
problem:
$ref: '#/components/schemas/ApiProblem'
model:
$ref: '#/components/schemas/GradleRepositoryInstabilities'
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'
mavenExtensions:
description: The extensions applied in a Maven build, or a report of a problem encountered.
properties:
problem:
$ref: '#/components/schemas/ApiProblem'
model:
$ref: '#/components/schemas/MavenExtensions'
mavenRepositoryInstabilities:
description: Repository instabilities of a Maven build, or a report of a problem encountered.
properties:
problem:
$ref: '#/components/schemas/ApiProblem'
model:
$ref: '#/components/schemas/MavenRepositoryInstabilities'
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'
mavenDependencyCaching:
description: Dependency caching metrics of a Maven build, or a report of a problem encountered.
properties:
problem:
$ref: '#/components/schemas/ApiProblem'
model:
$ref: '#/components/schemas/MavenDependencyCaching'
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'
npmDependencies:
description: The dependencies of an npm build, or a report of a problem encountered.
properties:
problem:
$ref: '#/components/schemas/ApiProblem'
model:
$ref: '#/components/schemas/NpmDependencies'
npmNetworkActivity:
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/NpmNetworkActivity'
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'
MavenRepositoryInstabilities:
type: object
description: Information about dependency network activity and repository instabilities observed during a Maven build, including network request totals, error counts broken down by category, and per-repository details. Populated for every build, regardless of whether the build succeeded or failed.
required:
- hasFailedDueToRepositoryInstability
- networkRequestCount
- networkRequestErrorCount
- serialNetworkRequestTime
- serialNetworkRequestErrorTime
- networkRequestErrorCategories
- repositories
properties:
hasFailedDueToRepositoryInstability:
type: boolean
description: Whether the build failure was caused by repository instability (i.e. one or more dependency network request errors). Always `false` for successful builds.
networkRequestCount:
type: integer
format: int64
minimum: 0
description: The total number of dependency network requests performed during the build.
networkRequestErrorCount:
type: integer
format: int64
minimum: 0
description: The total number of dependency network requests that failed during the build.
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
serialNetworkRequestErrorTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests that failed. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
networkRequestErrorCategories:
type: array
description: A breakdown of dependency network request errors by category. Empty if no dependency network requests failed.
items:
$ref: '#/components/schemas/MavenRepositoryInstabilitiesCategory'
repositories:
type: array
description: Per-repository network request totals and error breakdowns for every repository observed during the build.
items:
$ref: '#/components/schemas/MavenRepositoryInstabilitiesRepository'
ComparisonPresence:
type: string
description: Whether a compared item is present in one or both builds.
enum:
- ONLY_IN_A
- ONLY_IN_B
- IN_BOTH
GradleProjects:
type: array
items:
$ref: '#/components/schemas/GradleProject'
description: List of Gradle projects including structural relationships.
ComparisonFileRootInfo:
type: object
description: Information about a file root.
required:
- displayPath
properties:
displayPath:
type: string
description: Human-friendly representation of the path.
realPathA:
type: string
nullable: true
description: The real filesystem path in build A. Null when the root is not in build A or when the real path equals displayPath.
realPathB:
type: string
nullable: true
description: The real filesystem path in build B. Null when the root is not in build B or when the real path equals displayPath.
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'
MavenDependencyCaching:
type: object
description: Summary of dependency files resolved by source for a Maven build.
required:
- downloadedFileCount
- downloadedFileSize
- cachedFileCount
- cachedFileSize
properties:
downloadedFileCount:
type: integer
format: int64
minimum: 0
description: The number of resolved dependency files downloaded from remote repositories.
downloadedFileSize:
type: integer
format: int64
minimum: 0
description: The size in bytes of resolved dependency files downloaded from remote repositories.
cachedFileCount:
type: integer
format: int64
minimum: 0
description: The number of resolved dependency files retrieved from local cache.
cachedFileSize:
type: integer
format: int64
minimum: 0
description: The size in bytes of resolved dependency files retrieved from local cache.
BuildTestOrContainer:
type: object
required:
- name
- duration
- outcome
- executions
- children
properties:
name:
type: string
description: The name of the test or test container.
duration:
$ref: '#/components/schemas/BuildTestOrContainerDuration'
outcome:
$ref: '#/components/schemas/BuildTestOrContainerOutcome'
executions:
type: array
description: A summary of individual test executions. A test can run multiple times in a build if test retries are configured.
items:
$ref: '#/components/schemas/BuildTestOrContainerExecution'
children:
type: array
description: A list of child test containers or test cases that were executed in this test container.
items:
$ref: '#/components/schemas/BuildTestOrContainer'
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.
BuildTestsSummary:
type: object
description: A summary of test execution data for a build.
required:
- duration
- testCasesOutcomeDistribution
- testContainersOutcomeDistribution
properties:
duration:
type: object
required:
- total
properties:
total:
type: integer
format: int64
description: The sum of the elapsed wall-clock time in milliseconds of work units with tests.
serial:
type: integer
format: int64
description: "The sum of the time in milliseconds spent if tests and containers were running sequentially. \nMay be absent if the duration of test containers of cases is unknown (for example, the duration of forked suites is not captured in sbt).\n"
testCasesOutcomeDistribution:
$ref: '#/components/schemas/TestOutcomeDistribution'
testContainersOutcomeDistribution:
$ref: '#/components/schemas/TestOutcomeDistribution'
FailureGroupsQuery:
type: object
required:
- query
properties:
failureTypes:
type: array
description: Allows restricting the search to failure types. By default all failure types are considered.
default:
- build
- test
items:
$ref: '#/components/schemas/FailureType'
query:
type: string
description: 'A query for filtering the builds considered for failure groups, written in the Develocity advanced search query language.
The query must contain a restriction on `buildStartTime` to ensure the search is bounded in time.
See: https://gradle.com/help/advanced-search
'
maxFailureGroups:
description: The maximum number of failure groups to return.
type: integer
format: int32
default: 100
minimum: 1
maximum: 1000
maxBuildIdsPerGroup:
description: The maximum number of buildIds to return in a given FailureGroup.
type: integer
format: int32
default: 20
minimum: 1
maximum: 1000
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
GradleRepositoryInstabilitiesRepository:
type: object
description: Dependency network request metrics for a single repository, including error breakdowns.
required:
- url
- networkRequestCount
- networkRequestErrorCount
- serialNetworkRequestTime
- serialNetworkRequestErrorTime
- networkRequestErrorCategories
properties:
url:
type: string
description: The URL of the repository.
networkRequestCount:
type: integer
format: int64
minimum: 0
description: The total number of dependency network requests performed against this repository.
networkRequestErrorCount:
type: integer
format: int64
minimum: 0
description: The number of dependency network requests against this repository that failed.
serialNetworkRequestTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests against this repository. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
serialNetworkRequestErrorTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests against this repository that failed. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
networkRequestErrorCategories:
type: array
description: A breakdown of dependency network request errors for this repository by category.
items:
$ref: '#/components/schemas/GradleRepositoryInstabilitiesCategory'
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
BuildTestsResponse:
type: object
description: Test execution data for a build.
required:
- summary
- workUnits
properties:
summary:
$ref: '#/components/schemas/BuildTestsSummary'
workUnits:
type: array
description: A list of test work units that were executed in the build.
items:
$ref: '#/components/schemas/BuildTestWorkUnit'
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.
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'
GradleBuildCachePerformanceTaskExecutionEntry:
type: object
required:
- taskPath
- taskType
- avoidanceOutcome
- duration
- hasFailed
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:\n * `avoided_up_to_date` - Task whose execution is avoided due to build incrementalism\n * `avoided_from_local_cache` - Task whose execution is avoided due to reusing a local build cache entry\n * `avoided_from_remote_cache` - Task whose execution is avoided due to reusing a remote build cache entry\n * `avoided_unknown_reason` - Task which was avoided for an unknown reason\n * `executed_cacheable` - Task which is executed but is cacheable\n * `executed_not_cacheable` - Task which is executed but is not cacheable\n * `executed_unknown_cacheability` - Task which is executed and whose cacheability can not be determined\n * `lifecycle` - Lifecycle task\n * `no-source` - No-source task\n * `skipped` - Skipped task\n"
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:\n * `build_cache_not_enabled` - Caching is not enabled for the build\n * `cache-if_condition_not_matched` - Caching is disabled for the task via `org.gradle.api.tasks.TaskOutputs#cacheIf`\n * `disabled_to_ensure_correctness` - The task failed validation. Available since Gradle 7.0\n * `do-not-cache-if_condition_matched` - Caching is disabled for the task via `org.gradle.api.tasks.TaskOutputs#doNotCacheIf`\n * `multiple_outputs_declared` - The task declares multiple outputs\n * `no_outputs_declared` - The task has no outputs declared\n * `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\n * `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\n * `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\n * `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\n * `overlapping_outputs` - The tasks outputs overlaps with another task. As Gradle cannot safely determine which task each output file belongs to, it disables caching \n * `task_has_no_actions` - The task does not declare any actions\n * `task_output_caching_not_enabled` - Caching is not enabled for the task\n * `unknown` - Reason for disabled caching is not known\n\n`null` when the task is cacheable or if the information is not available.\n"
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:\n * `artifact_size_too_large` - The size of the artifact is larger than the remote build cache can accept.\n\nThe value is `null` if the task is not cacheable, or if the attempt to store the artifact does not succeed.\n"
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
hasFailed:
type: boolean
description: True when the task failed, false otherwise.
ComparisonActions:
type: object
description: Comparison of task actions (Gradle only).
required:
- doFirstActions
- doLastActions
properties:
doFirstActions:
type: array
items:
$ref: '#/components/schemas/ComparisonAction'
doLastActions:
type: array
items:
$ref: '#/components/schemas/ComparisonAction'
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
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'
MavenDependency:
allOf:
- $ref: '#/components/schemas/CommonDependency'
- type: object
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'
AvailabilityWaitTimeoutSecs:
type: integer
minimum: 0
description: The time in seconds the server should wait for ingestion before returning a wait timeout response.
BuildModelQuery:
type: object
properties:
availabilityWaitTimeoutSecs:
$ref: '#/components/schemas/AvailabilityWaitTimeoutSecs'
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
NpmBuildFailure:
type: object
required:
- header
- message
properties:
header:
type: string
description: Failure header.
message:
type: string
description: Failure message.
relevantLog:
type: string
description: Relevant console log. `null` if no relevant console log has been found.
nullable: true
processName:
type: string
description: The full process name (executable name and parameters) for which this failure was detected.
nullable: false
stacktrace:
type: string
description: The stacktrace of this failure. `null` if there is no stacktrace available.
nullable: true
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'
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.
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"]).
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'
MavenFailures:
type: object
description: The build and test failures of a Maven build. `null` if the build is not a Maven build.
nullable: true
properties:
buildFailures:
description: A list of build failures.
items:
$ref: '#/components/schemas/MavenBuildFailure'
type: array
testFailures:
description: A list of test failures. `null` if tests are not captured.
items:
$ref: '#/components/schemas/TestFailure'
type: array
nullable: true
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.
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:\n * `plugin` - The owner of the deprecation is a plugin.\n * `script` - The owner of the deprecation is a script.\n * `task` - The owner of the deprecation is a task.\n * `unknown` - Unknown deprecation owner type when none of the other options match.\n"
PredictiveTestSelectionMode:
type: string
enum:
- relevant
- remaining
description: "Develocity PTS selection mode of a build:\n * `relevant` - PTS selects only relevant tests (default)\n * `remaining` - PTS runs alls remaining tests\n"
ComparisonDifferences:
type: object
description: Boolean flags indicating which comparison dimensions have differences. Null when the build tool doesn't support the compared dimension.
properties:
workUnitInputs:
type: boolean
nullable: true
description: Whether there are differences in work unit inputs (task inputs for Gradle, goal inputs for Maven).
dependencies:
type: boolean
nullable: true
description: Whether there are differences in dependencies.
buildDependencies:
type: boolean
nullable: true
description: Whether there are differences in build dependencies.
customValues:
type: boolean
nullable: true
description: Whether there are differences in custom values.
switches:
type: boolean
nullable: true
description: Whether there are differences in switches.
infrastructure:
type: boolean
nullable: true
description: Whether there are differences in infrastructure.
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.
repository:
type: object
nullable: true
description: The repository where the dependency was resolved from.
properties:
url:
type: string
nullable: true
description: The URL of the repository.
type:
type: string
nullable: true
description: The type of the repository.
enum:
- maven
- ivy
- flatDir
- npm
resolutionSource:
type: string
nullable: true
description: A classification of the source this repository uses to resolve dependencies.
enum:
- remote
- local
- unknown
DevelocityVersion:
title: DevelocityVersion
type: object
allOf:
- $ref: '#/components/schemas/GradleEnterpriseVersion'
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
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.
Builds:
type: array
items:
$ref: '#/components/schemas/Build'
description: List of builds with common attributes.
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
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'
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'
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.
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.
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
Failure:
type: object
description: 'An individual failure instance.
'
required:
- message
properties:
message:
type: string
description: The failure message.
relevantLog:
type: string
description: Relevant console log. `null` if no relevant console log has been found.
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.
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-dependency-caching
- gradle-network-activity
- gradle-plugins
- gradle-projects
- gradle-repository-instabilities
- gradle-resource-usage
- gradle-test-performance
- maven-attributes
- maven-build-cache-performance
- maven-build-profile-overview
- maven-dependencies
- maven-dependency-caching
- maven-dependency-resolution
- maven-extensions
- maven-modules
- maven-plugins
- maven-repository-instabilities
- maven-resource-usage
- maven-test-performance
- bazel-attributes
- bazel-critical-path
- npm-attributes
- npm-dependencies
- npm-network-activity
- python-attributes
- sbt-attributes
BuildTestOrContainerDuration:
type: object
description: Various types of test durations captured for a given test.
properties:
total:
type: integer
format: int64
description: 'The elapsed wall-clock time in milliseconds when the test or container is running.
May be absent if the duration of the current test container or case is unknown. For example, the duration of forked suites is not captured in sbt.
'
own:
type: integer
format: int64
description: "The time in milliseconds spent in the setup or cleanup of test containers. \nAbsent for test cases.\n"
serial:
type: integer
format: int64
description: "The sum of the time spent in milliseconds if tests and containers were running sequentially. \nAbsent for test cases.\n"
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
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.
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'
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
ComparisonAction:
type: object
description: A task action comparison.
required:
- hasNameChanged
- hasImplementationChanged
properties:
displayNameA:
type: string
nullable: true
description: The action display name in build A. Null when the action is not present in build A.
displayNameB:
type: string
nullable: true
description: The action display name in build B. Null when the action is not present in build B.
hasNameChanged:
type: boolean
description: Whether the action name changed between builds.
hasImplementationChanged:
type: boolean
description: Whether the action implementation changed between builds.
ComparisonFileRoot:
type: object
description: A root directory in a file input comparison.
required:
- root
- presence
properties:
root:
$ref: '#/components/schemas/ComparisonFileRootInfo'
presence:
$ref: '#/components/schemas/ComparisonPresence'
description: Whether this root is in one or both builds.
status:
type: string
nullable: true
description: The comparison status of this root. Only present when `presence` is `IN_BOTH`.
children:
type: array
nullable: true
description: Child entries of this root. Null if the root has no children.
items:
$ref: '#/components/schemas/ComparisonFileChild'
ComparisonInputsResponse:
type: object
description: 'Work unit input comparison response with full detail for each work unit.
Exactly one of `gradle` or `maven` is set, depending on the build tool type.
'
required:
- totalCount
- offset
- limit
properties:
omissionReason:
type: string
nullable: true
description: When present, the work unit input comparison was omitted (e.g. incompatible build agent versions). The message explains why. When omitted, `gradle` or `maven` contains the comparison results.
gradle:
type: array
nullable: true
description: Gradle work units with comparison detail. Null for Maven builds or when `omissionReason` is present.
items:
$ref: '#/components/schemas/GradleComparisonWorkUnitDetail'
maven:
type: array
nullable: true
description: Maven work units with comparison detail. Null for Gradle builds or when `omissionReason` is present.
items:
$ref: '#/components/schemas/MavenComparisonWorkUnitDetail'
totalCount:
type: integer
format: int32
description: The total number of work units with differences matching the applied filters (before pagination).
offset:
type: integer
format: int32
description: The offset of the first work unit in the response.
limit:
type: integer
format: int32
description: The maximum number of work units returned.
BuildTestOrContainerExecution:
type: object
required:
- duration
- outcome
properties:
duration:
$ref: '#/components/schemas/BuildTestOrContainerDuration'
outcome:
$ref: '#/components/schemas/BuildTestOrContainerOutcome'
MavenDependencyResolutionSubset:
type: object
properties:
networkRequestCount:
description: This represents the total count of network requests for this subset of requests.
format: int64
type: integer
minimum: 0
serialNetworkRequestTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests for this subset of requests. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
fileDownloadSize:
type: integer
format: int64
minimum: 0
description: The total number of bytes downloaded for dependencies from this subset of requests. 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 from this subset of requests.
wallClockNetworkRequestTime:
description: The estimate in milliseconds representing the wall clock time spent on network requests during the current build for this subset of requests.
format: int64
type: integer
minimum: 0
TestAccelerationFeatureUsageStatus:
type: string
enum:
- unavailable
- disabled
- enabled
description: "Develocity extension status of a build / work unit:\n * `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\n * `disabled` - The extension was enabled on none of the tasks in the build / for the task in question\n * `enabled` - The extension was enabled on at least one of the tasks in the build / for the task in question**\n"
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).
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
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'
ProjectReference:
type: object
description: A container for a project ID.
required:
- id
properties:
id:
$ref: '#/components/schemas/ProjectId'
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
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
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'
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'
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.
FailureType:
type: string
enum:
- build
- test
ProjectId:
type: string
description: The unique identifier for the project. Must not contain whitespace.
minLength: 1
maxLength: 256
pattern: ^\S+$
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
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.
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.
methods:
type: object
description: A breakdown of the network activity by HTTP method, when available.
additionalProperties:
$ref: '#/components/schemas/MavenDependencyResolutionSubset'
repositories:
type: object
description: 'A breakdown of the network activity by repository URL. This is empty when no repositories were captured.
'
additionalProperties:
$ref: '#/components/schemas/MavenDependencyResolutionSubset'
repositoryMethods:
type: object
description: A breakdown of the network activity by HTTP method and repository, when available.
additionalProperties:
$ref: '#/components/schemas/MavenDependencyResolutionSubset'
SkipUnavailableModels:
type: boolean
description: Will skip build models that are not available at the time of the handling of the call.
NpmDependencies:
type: object
description: 'Dependencies of an npm build. While there are many possible types of dependencies, initial support is for library dependencies of the software. Dependency identifiers are based on the package url (purl) [specification](https://github.com/package-url/purl-spec).
'
properties:
dependencies:
type: array
description: List of dependencies of an npm build.
items:
$ref: '#/components/schemas/NpmDependency'
NpmWorkUnit:
type: object
description: An npm work unit.
required:
- projectName
- testRunner
properties:
projectName:
type: string
description: The name of the npm project.
testRunner:
type: string
description: The name of the test runner.
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.
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'
TestId:
type: object
description: Information required to uniquely identify a test.
required:
- workUnitName
- suiteName
properties:
workUnitName:
type: string
description: Work unit name that executed the test.
suiteName:
type: string
description: Suite name of the test, in most cases the class name.
testName:
type: string
description: Name of the test. `null` when the test is a suite.
nullable: true
ComparisonFileChild:
type: object
description: A child entry in a file input comparison tree.
required:
- path
- presence
properties:
path:
type: string
description: The child path relative to its parent.
presence:
$ref: '#/components/schemas/ComparisonPresence'
description: Whether this child is in one or both builds.
status:
type: string
nullable: true
description: The comparison status of this child. Only present when `presence` is `IN_BOTH`.
children:
type: array
nullable: true
description: Children of this child. Null if this child has no children.
items:
$ref: '#/components/schemas/ComparisonFileChild'
GradleDependencyCaching:
type: object
description: Summary of dependency files resolved by source for a Gradle build.
required:
- downloadedFileCount
- downloadedFileSize
- cachedFileCount
- cachedFileSize
properties:
downloadedFileCount:
type: integer
format: int64
minimum: 0
description: The number of resolved dependency files downloaded from remote repositories.
downloadedFileSize:
type: integer
format: int64
minimum: 0
description: The size in bytes of resolved dependency files downloaded from remote repositories.
cachedFileCount:
type: integer
format: int64
minimum: 0
description: The number of resolved dependency files retrieved from local cache.
cachedFileSize:
type: integer
format: int64
minimum: 0
description: The size in bytes of resolved dependency files retrieved from local cache.
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
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'
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
resumeEnabled:
type: boolean
description: Indicates whether the build resumes from the last failed subproject. `null` if Develocity Maven extension version is < `2.2` or Maven version is < Maven 4.
nullable: true
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'
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+$
GradleDependency:
allOf:
- $ref: '#/components/schemas/CommonDependency'
- type: object
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'
GradlePlugins:
type: object
properties:
plugins:
type: array
description: A list of applied plugins in a Gradle build.
items:
$ref: '#/components/schemas/GradlePlugin'
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:\n * `failed` - Artifact transform execution which failed\n * `success` - Artifact transform execution which was successfully executed\n * `from_cache` - Artifact transform execution which was taken from cache\n * `up_to_date` - Artifact transform execution which was up-to-date\n * `unknown` - Artifact transform execution whose outcome is unknown\n * `skipped` - Artifact transform execution which was skipped. **This is not emitted anymore, replaced by `up_to_date`.**\n"
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:\n * `avoided_up_to_date` - Artifact transform execution whose execution is avoided due to build incrementalism\n * `avoided_from_local_cache` - Artifact transform execution whose execution is avoided due to reusing a local build cache entry\n * `avoided_from_remote_cache` - Artifact transform execution whose execution is avoided due to reusing a remote build cache entry\n * `avoided_unknown_reason` - Artifact transform execution which was avoided for an unknown reason\n * `executed_cacheable` - Artifact transform execution which is executed but is cacheable\n * `executed_not_cacheable` - Artifact transform execution which is executed but is not cacheable\n * `executed_unknown_cacheability` - Artifact transform execution which is executed and whose cacheability can not be determined\n * `skipped` - Skipped artifact transform execution. **This is not emitted anymore, replaced by `up_to_date`.**\n"
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:\n * `build_cache_not_enabled` - Caching is not enabled for the build\n * `disabled_to_ensure_correctness` - The artifact transform failed validation\n * `not_cacheable` - Caching is not enabled for this artifact transform\n * `unknown` - Reason for disabled caching is not known\n\n`null` when the artifact transform execution is cacheable\n"
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:\n * `artifact_size_too_large` - The size of the artifact is larger than the remote build cache can accept.\n\nThe value is `null` if the transform execution is not cacheable, or if the attempt to store the artifact does not succeed.\n"
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
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
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.
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'
BuildTestsQuery:
x-all-of-name: BuildTestsQuery
type: object
properties:
workUnit:
type: string
description: 'The name of the test work unit to return test results for. If not specified, all work units are included.
May contain wildcards: an asterisk character ("*") matches an arbitrary number of characters.
'
testName:
type: string
description: "The name of the test case or container to return test results for. If not specified, all tests and containers are included. \nMay contain wildcards: an asterisk character (\"*\") matches an arbitrary number of characters.\nThe first matching test and all of its children are returned regardless of whether their names match the query or not.\n"
testOutcomes:
type: array
description: "Allows restricting the search to tests that had the given outcome. If not specified or empty, all tests and containers are included.\nIf the field contains multiple outcome values, then tests and containers having any of the provided outcomes are returned.\nFor test cases, the overall outcome is inspected. For test containers, their own outcome is inspected.\nThe filter is applied to the leaves of the test hierarchy first. The deepest test or container with matching outcomes is returned \ntogether with all of its parents, regardless of whether their outcomes match the query or not.\n"
items:
$ref: '#/components/schemas/TestOutcome'
GradleComparisonWorkUnitDetail:
type: object
description: Full Gradle work unit comparison data including task identity, difference types, build metadata, and all input/output/action changes.
required:
- taskPath
- differenceTypes
- buildA
- buildB
- hasImplementationChanged
- valueInputChanges
- fileInputChanges
- outputChanges
properties:
taskPath:
type: string
description: The full path of the Gradle task (e.g. `:app:compileJava`).
differenceTypes:
type: array
description: The categories of differences found in this work unit.
items:
$ref: '#/components/schemas/ComparisonDifferenceType'
buildA:
$ref: '#/components/schemas/ComparisonWorkUnitBrief'
buildB:
$ref: '#/components/schemas/ComparisonWorkUnitBrief'
hasImplementationChanged:
type: boolean
description: Whether the work unit implementation class changed between builds.
actions:
$ref: '#/components/schemas/ComparisonActions'
nullable: true
description: Task actions comparison. Always null for Maven.
valueInputChanges:
type: array
description: Value input properties that differ between the builds.
items:
$ref: '#/components/schemas/ComparisonValueInputChange'
fileInputChanges:
type: array
description: File input properties that differ between the builds.
items:
$ref: '#/components/schemas/ComparisonFileInputChange'
outputChanges:
type: array
description: Output properties that differ between the builds.
items:
$ref: '#/components/schemas/ComparisonOutputChange'
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'
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'
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
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'
GradleRepositoryInstabilities:
type: object
description: Information about dependency network activity and repository instabilities observed during a Gradle build, including network request totals, error counts broken down by category, and per-repository details. Populated for every build, regardless of whether the build succeeded or failed.
required:
- hasFailedDueToRepositoryInstability
- networkRequestCount
- networkRequestErrorCount
- serialNetworkRequestTime
- serialNetworkRequestErrorTime
- networkRequestErrorCategories
- repositories
properties:
hasFailedDueToRepositoryInstability:
type: boolean
description: Whether the build failure was caused by repository instability (i.e. one or more dependency network request errors). Always `false` for successful builds.
networkRequestCount:
type: integer
format: int64
minimum: 0
description: The total number of dependency network requests performed during the build.
networkRequestErrorCount:
type: integer
format: int64
minimum: 0
description: The total number of dependency network requests that failed during the build.
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
serialNetworkRequestErrorTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests that failed. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
networkRequestErrorCategories:
type: array
description: A breakdown of dependency network request errors by category. Empty if no dependency network requests failed.
items:
$ref: '#/components/schemas/GradleRepositoryInstabilitiesCategory'
repositories:
type: array
description: Per-repository network request totals and error breakdowns for every repository observed during the build.
items:
$ref: '#/components/schemas/GradleRepositoryInstabilitiesRepository'
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'
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
MavenBuildCachePerformanceGoalExecution:
type: array
description: A list of executed goals with performance related information.
items:
$ref: '#/components/schemas/MavenBuildCachePerformanceGoalExecutionEntry'
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.
'
GradleConfigurationCacheLoadResult:
type: object
description: The configuration cache load 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 load operation fails, false otherwise.
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.
ComparisonDifferenceType:
type: string
description: The type of difference found in a work unit.
enum:
- IMPLEMENTATION_CLASS
- INPUTS
- OUTPUTS
- ACTIONS
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'
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
BuildTestWorkUnit:
type: object
description: A work unit that ran tests in a build.
required:
- name
- duration
- outcome
- tests
properties:
name:
type: string
description: The name of the work unit.
duration:
$ref: '#/components/schemas/BuildTestOrContainerDuration'
outcome:
$ref: '#/components/schemas/TestWorkUnitOutcome'
tests:
type: array
description: A list of test containers or test cases that were executed in this work unit.
items:
$ref: '#/components/schemas/BuildTestOrContainer'
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'
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
MavenExtension:
type: object
required:
- type
properties:
groupId:
type: string
description: The extension group ID. May be null if it cannot be retrieved by the Develocity extension.
nullable: true
artifactId:
type: string
description: The extension artifact ID. May be null if it cannot be retrieved by the Develocity extension.
nullable: true
version:
type: string
description: The extension version. May be null if it cannot be retrieved by the Develocity extension.
nullable: true
type:
type: string
description: 'The extension application type. * `CORE` - A core extension, provided in the lib folder of the Maven installation. * `MAVEN_EXT_CLASSPATH` - A core extension provided via the -Dmaven.ext.class.path system property. * `LIB_EXT` - A core extension, provided in the lib/ext folder of the Maven installation. * `PROJECT` - A project extension, provided via a declaration in .mvn/extensions.xml in the Maven working directory. * `POM` - A build extension, provided via a declaration in the build section of the top level project pom.xml * `UNKNOWN` - An extension for which none of the other types match.
'
enum:
- CORE
- MAVEN_EXT_CLASSPATH
- LIB_EXT
- PROJECT
- POM
- UNKNOWN
FailureGroupsResponse:
type: object
description: A list of failure groups.
required:
- content
properties:
content:
type: array
description: A list of failure groups.
items:
$ref: '#/components/schemas/FailureGroup'
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
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'
skipUnavailableModels:
$ref: '#/components/schemas/SkipUnavailableModels'
MavenModules:
type: array
items:
$ref: '#/components/schemas/MavenModule'
description: List of Maven modules including structural relationships.
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
GradleFailures:
type: object
description: The build and test failures of a Gradle build. `null` if the build is not a Gradle build.
nullable: true
properties:
buildFailures:
description: A list of build failures.
items:
$ref: '#/components/schemas/GradleBuildFailure'
type: array
testFailures:
description: A list of test failures. `null` if tests are not captured.
items:
$ref: '#/components/schemas/TestFailure'
type: array
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.
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'
ComparisonSummary:
type: object
description: A summary of differences between two builds.
required:
- buildToolType
- differences
properties:
buildToolType:
$ref: '#/components/schemas/BuildToolType'
differences:
$ref: '#/components/schemas/ComparisonDifferences'
MavenRepositoryInstabilitiesCategory:
type: object
description: Dependency network request error metrics for a single error category.
required:
- categoryName
- networkRequestErrorCount
- serialNetworkRequestErrorTime
properties:
categoryName:
type: string
description: 'The identifier of the error category (e.g. `Missing`, `Uncategorized`, `Status: Unauthorized`). New categories may be introduced in the future without a schema change.'
networkRequestErrorCount:
type: integer
format: int64
minimum: 0
description: The number of dependency network requests that failed and were classified under this category.
serialNetworkRequestErrorTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests that failed and were classified under this category. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
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.
TestWorkUnitOutcome:
type: string
enum:
- passed
- failed
- skipped
- flaky
- timedOut
BuildFailuresQuery:
allOf:
- $ref: '#/components/schemas/BuildModelQuery'
- type: object
properties:
maxFailures:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 100
description: The maximum number of failures to return for each failure list independently. This limit applies separately to the buildFailures and testFailures lists.
Permission:
type: string
description: A permission [config value](https://gradle.com/help/helm-admin-permissions).
minLength: 1
maxLength: 256
pattern: ^\S+$
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
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'
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.
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
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'
ComparisonOutputChange:
type: object
description: An output property that differs between builds.
properties:
nameA:
type: string
nullable: true
description: Output property name in build A. Null if not present in build A.
nameB:
type: string
nullable: true
description: Output property name in build B. Null if not present in build B.
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
NpmFailures:
type: object
description: The build and test failures of an npm build. `null` if the build is not an npm build.
nullable: true
properties:
buildFailures:
description: A list of build failures.
items:
$ref: '#/components/schemas/NpmBuildFailure'
type: array
testFailures:
description: A list of test failures. `null` if tests are not captured.
items:
$ref: '#/components/schemas/TestFailure'
type: array
nullable: true
SbtWorkUnit:
type: object
description: An sbt work unit.
required:
- taskName
properties:
scope:
type: object
description: The sbt scope.
properties:
project:
type: string
description: The name of the sbt scope project.
configuration:
type: string
description: The name of the sbt scope configuration.
task:
type: string
description: The name of the sbt scope task.
taskName:
type: string
description: The name of the sbt task.
GradleBuildCachePerformanceTaskExecution:
type: array
description: A list of executed tasks with performance related information.
items:
$ref: '#/components/schemas/GradleBuildCachePerformanceTaskExecutionEntry'
ComparisonWorkUnitBrief:
type: object
description: Brief details about a work unit in one of the compared builds.
required:
- className
- outcome
- cacheability
properties:
className:
type: string
description: The fully qualified class name of the work unit implementation.
cacheKey:
type: string
nullable: true
description: The build cache key. Null when the work unit is not cacheable or if an error occurred when computing the cache key.
outcome:
type: string
description: The work unit outcome.
cacheability:
type: string
description: The cacheability status of the work unit.
TestFailure:
type: object
required:
- id
- message
properties:
id:
$ref: '#/components/schemas/TestId'
message:
type: string
description: Failure message.
stacktrace:
type: string
description: The failure stacktrace. `null` if there is no stacktrace available.
nullable: true
GradleNetworkActivitySubset:
type: object
properties:
networkRequestCount:
description: This represents the total count of network requests for this subset of requests.
format: int64
type: integer
minimum: 0
serialNetworkRequestTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests for this subset of requests. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
fileDownloadSize:
type: integer
format: int64
minimum: 0
description: The total number of bytes downloaded for dependencies from this subset of requests. 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 from this subset of requests.
wallClockNetworkRequestTime:
description: The estimate in milliseconds representing the wall clock time spent on network requests during the current build for this subset of requests.
format: int64
type: integer
minimum: 0
NpmNetworkActivity:
type: object
description: Information about the network activity of the build.
required:
- networkRequestCount
- serialNetworkRequestTime
- wallClockNetworkRequestTime
- fileDownloadSize
- fileDownloadCount
properties:
networkRequestCount:
description: This represents the total count of network requests made during dependency 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.
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. TGZs, pakuments) downloaded and not the total network transfer.
fileDownloadCount:
type: integer
format: int64
minimum: 0
description: The total number of successfully downloaded files.
methods:
type: object
description: A breakdown of the network activity by HTTP method, when available.
additionalProperties:
$ref: '#/components/schemas/NpmNetworkActivitySubset'
registries:
type: object
description: 'A breakdown of the network activity by registry URL. This is empty when no registries were captured.
'
additionalProperties:
$ref: '#/components/schemas/NpmNetworkActivitySubset'
registryMethods:
type: object
description: A breakdown of the network activity by HTTP method and registry, when available.
additionalProperties:
$ref: '#/components/schemas/NpmNetworkActivitySubset'
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
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.
MavenBuildCachePerformanceGoalExecutionEntry:
type: object
required:
- goalName
- mojoType
- goalExecutionId
- goalProjectName
- avoidanceOutcome
- duration
- hasFailed
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:\n * `avoided_from_local_cache` - Goal whose execution is avoided due to reusing a local build cache entry\n * `avoided_from_remote_cache` - Goal whose execution is avoided due to reusing a remote build cache entry\n * `executed_cacheable` - Goal which is executed but is cacheable\n * `executed_not_cacheable` - Goal which is executed but is not cacheable\n * `executed_unknown_cacheability` - Goal which is executed and whose cacheability cannot be determined\n * `skipped` - Skipped goal\n"
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:\n * `build_cache_disabled_by_user` - The build cache is disabled by the user\n * `goal_execution_marked_non_cacheable` - The goal execution is marked as non-cacheable\n * `goal_not_supported` - The goal does not support build caching\n * `no_gradle_enterprise_server_configured` - No Develocity server is configured **Deprecated, use `no_develocity_server_configured` instead**\n * `no_develocity_server_configured` - No Develocity server is configured\n * `non_clean_build` - The `clean` lifecycle is not executed \n * `not_entitled` - The Develocity license entitlements does not allow Maven build caching\n * `offline_build` - The build is run in offline mode\n * `unknown` - Reason for disabled caching is not known\n * `unknown_entitlements` - The Develocity license entitlements cannot be checked\n\n`null` when the goal execution is cacheable or if the information is not available.\n"
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:\n * `artifact_size_too_large` - The size of the artifact is larger than the remote build cache can accept.\n\n`null` if the goal is not cacheable, or if the attempt to store the artifact does not succeed.\n"
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
hasFailed:
type: boolean
description: True when the goal failed, false otherwise.
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).
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.
GradleRepositoryInstabilitiesCategory:
type: object
description: Dependency network request error metrics for a single error category.
required:
- categoryName
- networkRequestErrorCount
- serialNetworkRequestErrorTime
properties:
categoryName:
type: string
description: 'The identifier of the error category (e.g. `Missing`, `Uncategorized`, `Status: Unauthorized`). New categories may be introduced in the future without a schema change.'
networkRequestErrorCount:
type: integer
format: int64
minimum: 0
description: The number of dependency network requests that failed and were classified under this category.
serialNetworkRequestErrorTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests that failed and were classified under this category. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
MavenBuildFailure:
type: object
required:
- header
- message
properties:
header:
type: string
description: Failure header.
message:
type: string
description: Failure message.
relevantLog:
type: string
description: Relevant console log. `null` if no relevant console log has been found.
nullable: true
goalExecutionId:
type: string
description: The goal execution id associated with this failure. `null` if no goal execution is associated with the failure.
nullable: true
stacktrace:
type: string
description: The stacktrace of this failure. `null` if there is no stacktrace available.
nullable: true
MavenComparisonWorkUnitDetail:
type: object
description: Full Maven work unit comparison data including goal identity, difference types, build metadata, and all input/output/action changes.
required:
- groupId
- artifactId
- goalName
- executionId
- projectName
- differenceTypes
- buildA
- buildB
- hasImplementationChanged
- valueInputChanges
- fileInputChanges
- outputChanges
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.
projectName:
type: string
description: The name of the Maven project.
differenceTypes:
type: array
description: The categories of differences found in this work unit.
items:
$ref: '#/components/schemas/ComparisonDifferenceType'
buildA:
$ref: '#/components/schemas/ComparisonWorkUnitBrief'
buildB:
$ref: '#/components/schemas/ComparisonWorkUnitBrief'
hasImplementationChanged:
type: boolean
description: Whether the work unit implementation class changed between builds.
actions:
$ref: '#/components/schemas/ComparisonActions'
nullable: true
description: Task actions comparison. Always null for Maven.
valueInputChanges:
type: array
description: Value input properties that differ between the builds.
items:
$ref: '#/components/schemas/ComparisonValueInputChange'
fileInputChanges:
type: array
description: File input properties that differ between the builds.
items:
$ref: '#/components/schemas/ComparisonFileInputChange'
outputChanges:
type: array
description: Output properties that differ between the builds.
items:
$ref: '#/components/schemas/ComparisonOutputChange'
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.
TestPerformanceBuildPredictiveTestSelectionUsage:
type: object
description: Groups PTS usage data (build level).
required:
- status
- selectionMode
- wallClockSavings
- serialTimeSavings
properties:
status:
$ref: '#/components/schemas/TestAccelerationFeatureUsageStatus'
selectionMode:
$ref: '#/components/schemas/PredictiveTestSelectionMode'
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
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://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
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
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'
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'
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'
FailureGroup:
type: object
description: 'A failure group.
'
required:
- type
- failureCount
- firstOccurrence
- lastOccurrence
- exampleFailure
- buildIds
properties:
type:
$ref: '#/components/schemas/FailureType'
failureCount:
type: integer
format: int64
description: The number of failures in this group.
firstOccurrence:
type: string
format: date-time
description: 'The timestamp of the first occurrence of this failure group.
This is the timestamp of the earliest failure that belongs to this group and therefore may be outside the time range of the query.
'
lastOccurrence:
type: string
format: date-time
description: 'The timestamp of the last occurrence of this failure group.
This is the timestamp of the latest failure that belongs to this group and therefore may be outside the time range of the query.
'
exampleFailure:
$ref: '#/components/schemas/Failure'
buildIds:
type: array
description: Build Scan IDs for builds that contain failures that belong to this failure group.
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'
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.
TestOutcome:
type: string
enum:
- passed
- failed
- skipped
- flaky
- notSelected
BuildFailures:
type: object
description: 'The unified failures response for a build, containing build tool-specific failure information.
Each build tool (gradle, maven, npm) has its own nested object with failures if applicable for that build.
'
required:
- buildToolType
properties:
buildToolType:
type: string
description: The build tool type of the build.
gradle:
$ref: '#/components/schemas/GradleFailures'
maven:
$ref: '#/components/schemas/MavenFailures'
npm:
$ref: '#/components/schemas/NpmFailures'
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'
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
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
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'
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.
hasVerificationFailure:
type: boolean
description: 'Set only if the build failed: true when the build has at least one failure classified as "Verification", false otherwise. The Verification classification is meant for failures that are expected within a standard application development lifecycle. They typically represent a problem with the developer’s inputs to the build such as the source code.
'
hasNonVerificationFailure:
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.
'
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.
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'
npm:
$ref: '#/components/schemas/NpmWorkUnit'
sbt:
$ref: '#/components/schemas/SbtWorkUnit'
TestPerformanceWorkUnitPredictiveTestSelectionUsage:
type: object
description: Predictive Test Selection related data of a work unit.
required:
- status
- selectionMode
- wallClockSavings
- serialTimeSavings
- nonSelectedTestClassesCount
properties:
status:
$ref: '#/components/schemas/TestAccelerationFeatureUsageStatus'
selectionMode:
$ref: '#/components/schemas/PredictiveTestSelectionMode'
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
NpmNetworkActivitySubset:
type: object
properties:
networkRequestCount:
description: This represents the total count of network requests for this subset of requests.
format: int64
type: integer
minimum: 0
serialNetworkRequestTime:
description: The duration in milliseconds representing the sum of times for potentially parallel network requests for this subset of requests. It does not reflect wall clock time but offers a rough estimation of network activity.
format: int64
type: integer
minimum: 0
fileDownloadSize:
type: integer
format: int64
minimum: 0
description: The total number of bytes downloaded for dependencies from this subset of requests. It accounts only for the bytes of the files (e.g. TGZs, pakuments) downloaded and not the total network transfer.
fileDownloadCount:
type: integer
format: int64
minimum: 0
description: The total number of successfully downloaded files from this subset of requests.
wallClockNetworkRequestTime:
description: The estimate in milliseconds representing the wall clock time spent on network requests during the current build for this subset of requests.
format: int64
type: integer
minimum: 0
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://gradle.com/help/maven-extension-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
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
ComparisonValueInputChange:
type: object
description: A value input property that differs between builds.
required:
- name
- presence
properties:
name:
type: string
description: The input property name.
presence:
$ref: '#/components/schemas/ComparisonPresence'
description: Whether this input is in one or both builds.
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.
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/configuration_on_demand.html.
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/configuration_on_demand.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.
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.
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.
BuildTestPerformanceTests:
type: object
description: Test-related data of a build.
required:
- testClassesCount
properties:
testClassesCount:
type: integer
description: Number of test classes of a build.
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'
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
BuildToolType:
type: string
description: The build tool type.
enum:
- gradle
- maven
MavenPlugins:
type: object
properties:
plugins:
type: array
description: A list of applied plugins in a Maven build.
items:
$ref: '#/components/schemas/MavenPlugin'
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'
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
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.
TestIncludeFields:
type: string
enum:
- buildScanIds
- workUnits
x-enum-varnames:
- BUILD_SCAN_IDS
- WORK_UNITS
responses:
UnexpectedError:
description: The server encountered an unexpected error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ApiProblem'
examples:
UnexpectedErrorResponse:
$ref: '#/components/examples/UnexpectedErrorApiProblemExample'
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'
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
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'
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'
ForbiddenError:
description: The authenticated user has insufficient permissions.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ApiProblem'
examples:
ForbiddenUserResponse:
$ref: '#/components/examples/ForbiddenUserExample'
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.
SuccessfulVersionResponse:
description: Successful version response
content:
application/json:
schema:
$ref: '#/components/schemas/DevelocityVersion'
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'
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'
examples:
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
CapabilityValidationProblemExample:
value:
type: urn:gradle:enterprise:validation
title: Invalid request parameters
detail: One or more capabilities have an invalid format.
status: 400
UnauthenticatedExample:
value:
type: urn:gradle:enterprise:api:problems:client-error
title: Something was wrong with the request
status: 401
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
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
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
ForbiddenUserExample:
value:
type: urn:gradle:enterprise:forbidden
title: Insufficient permissions
detail: User must have the Administer Projects permission to access this endpoint.
status: 403
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
securitySchemes:
DevelocityAccessKeyOrToken:
type: http
scheme: bearer
bearerFormat: Bearer <>
description: "All requests require a Develocity access key or token as a bearer token. \nGiven an access key of `l3an7wk3j4ze5v4mi7rvgjf2p7g44nvlswg4cpvdonjs7rzd4kmq`, the required header is `Authorization: Bearer l3an7wk3j4ze5v4mi7rvgjf2p7g44nvlswg4cpvdonjs7rzd4kmq`.\n\nPlease 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.\n"