The Develocity API allows programmatic interaction with various aspects of Develocity, from configuration to inspecting build data.
Fundamentals
The Develocity API is a REST-style API using JSON as the data format.
OpenAPI
The API is defined using the OpenAPI standard, which is a declarative specification that allows tools and libraries to generate client code. The specification can be found in the Reference section.
Versioning and compatibility
The API is generally backwards compatible.
New functionality (e.g. endpoints, response attributes) may be added in new major versions (i.e. 2022.1, 2022.2).
Breaking changes will occur infrequently if at all, and only after a reasonable deprecation period. Deprecations will be communicated by:
-
The release notes for the major Develocity version introducing the deprecation.
-
The
deprecated
annotation within the OpenAPI specification. -
The
Deprecated
HTTP response header (indicating when the operation was deprecated). -
The
Sunset
HTTP response header (indicating when the operation will be removed).
API documentation may be refined in patch releases, along with implementation defects that cause deviation from the specification.
Getting started
Access control
All requests must provide a Develocity access key as “bearer token”.
To create an access key:
-
Sign in to Develocity.
-
Access "My settings" from the user menu in the top right-hand corner of the page.
-
Access "Access keys" from the left-hand menu.
-
Click "Generate" on the right-hand side and copy the generated access key.
Different requests require different user permissions, as describe via the API specification.
To view the permissions assigned to you:
-
Sign in to Develocity.
-
Access "My settings" from the user menu in the top right-hand corner of the page.
-
Access "Permissions" from the left-hand menu.
-
Check if you have the required permissions.
If you do not have the required permission, contact your Develocity administrator.
Short-lived access tokens
Develocity access keys are long-lived, creating risks if they are leaked. To avoid this, users can use short-lived access tokens to authenticate with Develocity. Access tokens can be used wherever an access key would be used. Access tokens are only valid for the Develocity instance that created them.
Develocity server version 2024.1+ supports access tokens. |
Changing a Develocity instance’s hostname will cause all existing access tokens to become invalid. |
To create an access token:
-
Get an access key or access token for the user you wish to create a token for.
-
Decide which permissions the new access token should have.
-
If project-level access control is enabled, decide which projects the new access token should be able to access.
-
Decide how long the new access token should live.
-
Make a POST request to
/api/auth/token
, optionally with the following parameters. The response will be the access token.-
A
permissions=
query parameter with the config values of each permission you wish to grant. By default, all permissions for the credential used to authenticate the token request are granted to the created token. -
If project-level access control is enabled, a
projectIds=
query parameter with the ID of each project you wish to grant access to. By default, all projects for the credential used to authenticate the token request are granted to the created token. -
An
expiresInHours=
query parameter with the token’s intended lifetime in hours, with a maximum of 24. The default is two hours, or the remaining lifetime of the credential used to authenticate the request, whichever is smaller.
-
The requested permissions and project ids can be specified as comma-seperated lists or repeated parameters. For example, ?projectIds=a,b&projectIds=c
is valid and will request projects a
, b
, and c
.
If project-level access control is not enabled, all access tokens will be granted the “Access all data without an associated project” permission even if it is not explicitly requested. |
If the user creating the token does not have one of the requested permissions or projects, Develocity will respond with a 403 Forbidden error. If an access token is used to authenticate the creation request, its permissions and projects will be used for this check instead of the user’s. The request will also error if the requested lifetime would cause the new access token to expire after the one used to authenticate the request. Together, this means you cannot create an access token with more access or a later expiration than the credentials used to authenticate the request.
See the API documentation for more details on the /api/auth/token endpoint. |
Here is an example using CURL to create an access token:
$ curl -X POST https://ge.mycompany.com/api/auth/token?permissions=publishScan,writeCache,accessDataWithoutAssociatedProject&projectIds=project-a,project-b&expiresInHours=1 \
-H "Authorization: Bearer 7asejatf24zun43yshqufp7qi4ovcefxpykbwzqbzilcpwzb52ja"
eyJraWQiOiJ0ZXN0LWtleSIsImFsZyI6IlJTMjU2IiwidHlwIjoiSldUIn0.eyJpc19hbm9ueW1vdXMiOmZhbHNlLCJwZXJtaXNzaW9ucyI6WyJSRUFEX1ZFUlNJT04iLCJFWFBPUlRfREFUQSIsIkFDQ0VTU19EQVRBX1dJVEhPVVRfQVNTT0NJQVRFRF9QUk9KRUNUIl0sInByb2plY3RzIjp7ImEiOjEsImIiOjJ9LCJ1c2VyX2lkIjoic29tZS1pZCIsInVzZXJuYW1lIjoidGVzdCIsImZpcnN0X25hbWUiOiJhIiwibGFzdF9uYW1lIjoidXNlciIsImVtYWlsIjoiYkBncmFkbGUuY29tIiwic3ViIjoidGVzdCIsImV4cCI6NzIwMCwibmJmIjowLCJpYXQiOjAsImF1ZCI6ImV4YW1wbGUuZ3JhZGxlLmNvbSIsImlzcyI6ImV4YW1wbGUuZ3JhZGxlLmNvbSIsInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4ifQ.H1_NEG1xuleP-WIAY_uvSmdd2o7i_-Ko3qhlo04zvCgrElJe7_F5jNuqsyDfnb5hvKlOe5UKG_7QPTgY9-3pFQ
The resulting token would have the following permissions:
-
“Publish Build Scans”
-
“Read and write Build Cache data”
-
“Access all data without an associated project”
And it would have access to these projects:
-
“project-a”
-
“project-b”
The token would only be usable for one hour.
Making a request
The following example demonstrates using cURL
to make a request to the builds
endpoint, which requires the “Access build data via the API” permission.
$ curl -H "Authorization: Bearer <access key or access token>" "https://ge.mycompany.com/api/builds?since=0&maxBuilds=3"
[ { "id": "7asfp6iy3d5ey", "availableAt": 1645452789334, "buildToolType": "gradle", "buildToolVersion": "7.4", "buildAgentVersion": "3.8.1" }, { "id": "1saxebtd5d4xs", "availableAt": 1645452795414, "buildToolType": "maven", "buildToolVersion": "3.8.4", "buildAgentVersion": "1.12.4" }, { "id": "hx4k23knk64ri", "availableAt": 1645453205526, "buildToolType": "gradle", "buildToolVersion": "7.4", "buildAgentVersion": "3.8.1" } ]
The builds
endpoint can be used to discover the builds observed by the system. This example fetches the 3 oldest builds due to the since=0&maxBuilds=3
parameters.
Next steps
Check out the sample project.
To learn more about the functionality provided by the API and what you can do with it, see Reference.
Reference
The reference documentation is useful for discovering the functionality of the API.
The reference specification is the API described using the OpenAPI standard and is useful for generating client code with OpenAPI-based tooling.
Appendix A: About the Export API
The Develocity API described in this document will eventually replace the Develocity Export API. At this time, the Develocity API does not allow consuming the raw events of a build as the Export API does.
If your existing usage of the Export API can be replaced with the easier-to-use Develocity API, please consider migrating. For assistance, please contact Develocity support.
Appendix B: Release history
2024.3
-
Add
checkFingerprintDuration
anddependencyResolutionDuration
attributes withinresult
on the/api/builds/{id}/gradle-configuration-cache
operation response
2024.2
-
Add new
/api/builds/{id}/gradle-plugins
and/api/builds/{id}/maven-plugins
endpoints -
Add new
/api/builds/{id}/gradle-resource-usage
and/api/builds/{id}/maven-resource-usage
endpoints -
Add new
/api/builds/{id}/gradle-build-profile-overview
and/api/builds/{id}/maven-build-profile-overview
endpoints -
Add
isolatedProjectsEnabled
attribute withinbuildOptions
on the/api/builds/{id}/gradle-attributes
operation response
2024.1
-
Add new
/api/builds/{id}/gradle-artifact-transform-executions
endpoint -
Add new
/api/builds/{id}/gradle-deprecations
endpoint -
Add
allModels
query parameter to/api/build/{id}
and/api/builds
endpoint for requesting all build models
2023.4
-
Add new
/api/builds/{id}/gradle-network-activity
endpoint -
Add new
/api/builds/{id}/maven-dependency-resolution
endpoint -
Add new
/api/tests/cases
endpoint -
Add new
/api/tests/containers
endpoint -
Add
develocitySettings
attribute on the/api/builds/{id}/gradle-attributes
and/api/builds/{id}/maven-attributes
operation responses. This value is identical togradleEnterpriseSettings
and should be used instead -
Add
workUnitFingerprintingSummary
andworkUnitAvoidanceSavingsSummary
to/api/builds/{id}/gradle-build-cache-performance
operation response -
Add
cacheKey
to/api/builds/{id}/gradle-build-cache-performance
operation response -
Add
cacheKey
to/api/builds/{id}/maven-build-cache-performance
operation response -
Make
isDisabledDueToError
nullable on/api/builds/{id}/gradle-build-cache-performance
and/api/builds/{id}/maven-build-cache-performance
responses -
Deprecate
rerunGoals
in favor ofrerunGoalsEnabled
within thebuildOptions
property on the/api/builds/{id}/maven-attributes
operation responses -
Deprecate
avoidanceSavingsSummary
in favor oftaskAvoidanceSavingsSummary
from/api/builds/{id}/gradle-build-cache-performance
operation response
2023.3
-
Add
hasVerificationFailure
andhasNonVerificationFailure
attributes on the/api/builds/{id}/gradle-attributes
and/api/builds/{id}/maven-attributes
operation response -
Introduce optional
query
query parameter for the on the/api/builds
endpoint, which can be used to filter the set of returned builds. This parameter’s value should be a URL encoded text query written in the advanced query language (the same advanced query language that is used in the scans list UI)
2023.2
-
Add
effectiveWorkUnitExecutionTime
andserialWorkUnitExecutionTime
on the/api/builds/{id}/gradle-build-cache-performance
operation response -
Exclude potential artifact transforms from
effectiveTaskExecutionTime
andserialTaskExecutionTime
on the/api/builds/{id}/gradle-build-cache-performance
operation response -
Add
cacheArtifactRejectedReason
to/api/builds/{id}/gradle-build-cache-performance
and/api/builds/{id}/maven-build-cache-performance
operation response
2023.1
-
Add
cacheArtifactSize
to/api/builds/{id}/gradle-build-cache-performance
and/api/builds/{id}/maven-build-cache-performance
operation response -
Add
excludedTasks
to/api/builds/{id}/gradle-attributes
operation response
2022.4
-
Add new
/api/test-distribution/*
endpoints for managing API keys and agent pools -
Add new
/api/builds/{id}/gradle-projects
endpoint -
Add new
/api/builds/{id}/maven-modules
endpoint -
Introduce
fromInstant
,fromBuild
,reverse
query parameters on the/api/builds
operation query -
Deprecate
since
andsinceBuild
query parameters on the/api/builds
operation query
2022.3
-
Add
taskExecution.nonCacheabilityCategory
andtaskExecution.nonCacheabilityReason
to/api/builds/{id}/gradle-build-cache-performance
operation response -
Add
goalExecution.nonCacheabilityCategory
andgoalExecution.nonCacheabilityReason
to/api/builds/{id}/maven-build-cache-performance
operation response -
Add
taskExecution.taskType
to/api/builds/{id}/gradle-build-cache-performance
operation response -
Add
goalExecution.mojoType
to/api/builds/{id}/maven-build-cache-performance
operation response -
Add
buildCaches.remote.type
to/api/builds/{id}/gradle-build-cache-performance
operation response -
Add
buildCaches.remote.className
to/api/builds/{id}/gradle-build-cache-performance
operation response -
Add a
title
to/api/builds
inlined query parameters schema
2022.2
-
Improve OpenAPI specification examples
-
Add
buildCaches.local.isPushEnabled
to/api/builds/{id}/maven-build-cache-performance
operation response
2022.1
-
Initial release
Appendix C: Advanced search syntax
Develocity supports the use of advanced search for filtering Build Scan data in the dashboards from version 2022.4, and in the Enterprise API from version 2023.3.
Each query can be made from one or more terms separated by spaces. Each term is a field name and search pattern: fieldName:pattern. For example, project:my-project is equivalent to entering my-project in the Project field in the basic search.
Supported fields
Generic fields
These fields are applicable for builds from all supported build tools.
Name | Description | Data type | Version availability | Example |
---|---|---|---|---|
user |
Username of the OS account that executed the build. |
String |
>=2022.4 |
user:dylan |
hostname |
Public hostname of the build machine. |
String |
>=2022.4 |
hostname:*.somedomain.com |
project |
Name of the Gradle root project, Maven top level module, Bazel workspace, or sbt root project. |
String |
>=2023.3 |
project:my-project |
rootProjectName |
Name of the Gradle root project, Maven top level module, Bazel workspace, or sbt root project. |
String |
2022.4 to 2023.2.3 |
rootProjectName:my-project |
requested |
Tasks, goals, or targets that were requested when the build was invoked. |
String |
>=2022.4 |
requested:":my-project:*" |
buildTool |
Must be one of gradle, maven, bazel, sbt, npm, or python.
|
String |
>=2022.4 |
buildTool:gradle |
buildToolVersion |
Version of the build tool that executed the build. |
String |
>=2022.4 |
buildToolVersion:8.* |
value |
Custom values added to the Build Scan in the form name=value. |
Key-value pair |
>=2022.4 |
value:"Git branch=abc/my-feature" |
tag |
Tags added to the Build Scan. |
String |
>=2022.4 |
tag:CI |
buildOutcome |
succeeded or failed. |
String |
>=2022.4 |
buildOutcome:failed |
buildDuration |
Duration of the build. |
Duration |
>=2022.4 |
buildDuration>30m |
buildStartTime |
Start time of the build. This field should only be used when filtering Build Scan data from the Develocity API. |
Timestamp |
>=2022.4 |
|
hasVerificationFailure |
True if the build fails and at least one of the failures is classified as "Verification". Otherwise, false. |
Boolean |
>=2024.1 |
hasVerificationFailure |
hasNonVerificationFailure |
True if the build fails and at least one of the failures is classified as "Non-verification". Otherwise, false. |
Boolean |
>=2024.1 |
hasNonVerificationFailure |
Gradle-specific fields
Fields whose name is prefixed with "gradle." are specific to Gradle and select only Gradle builds.
Name | Description | Data type | Version availability |
---|---|---|---|
gradle.pluginVersion |
The applied version of the Develocity Gradle plugin. |
String |
>=2023.3 |
gradle.requestedTasks |
The resolved set of requested tasks for the Gradle build. |
String |
>=2023.3 |
gradle.rootProjectName |
The root project name for the Gradle build. |
String |
>=2023.3 |
gradle.buildCache.hasError |
Whether any Build Cache error or artifact rejections occurred during the build. |
Boolean |
>=2023.4 |
gradle.buildOptions.buildCacheEnabled |
Whether the Gradle Build Cache was enabled. |
Boolean |
>=2023.4 |
gradle.buildCache.local.enabled |
Whether the local Gradle Build Cache was enabled. |
Boolean |
>=2024.1.1 |
gradle.buildCache.remote.enabled |
Whether the remote Gradle Build Cache was enabled. |
Boolean |
>=2024.1.1 |
gradle.buildCache.remote.pushEnabled |
Whether pushing to the remote Gradle Build Cache was enabled. |
Boolean |
>=2024.1.1 |
gradle.buildOptions.configurationCacheEnabled |
Whether the configuration cache was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.configurationOnDemandEnabled |
Whether configuration on demand was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.continueOnFailureEnabled |
Whether continue on failure was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.continuousBuildEnabled |
Whether continuous build execution was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.daemonEnabled |
Whether the Gradle daemon was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.dryRunEnabled |
Whether dry run mode was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.fileSystemWatchingEnabled |
Whether file system watching was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.isolatedProjectsEnabled |
Whether the Isolated Projects feature was enabled. |
Boolean |
>=2024.2 |
gradle.buildOptions.maxNumberOfGradleWorkers |
Maximum number of build workers configured for the Gradle build. |
Number |
>=2023.4 |
gradle.buildOptions.offlineModeEnabled |
Whether offline mode was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.parallelProjectExecution |
Whether parallel project execution was enabled. |
Boolean |
>=2023.4 |
gradle.buildOptions.refreshDependenciesEnabled |
Whether the build was configured to refresh all dependencies. |
Boolean |
>=2023.4 |
gradle.buildOptions.rerunTasksEnabled |
Whether rerun tasks was enabled. |
Boolean |
>=2023.4 |
gradle.configurationCache.outcome |
The configuration cache outcome. Must be one of hit, miss, failed, or null. null means that the configuration cache outcome could not be retrieved, either due to an error or because the configuration cache was not enabled. |
String |
>=2024.3 |
gradle.develocitySettings.backgroundPublicationEnabled |
Whether Build Scan data was published in the background. |
Boolean |
>=2023.4 |
gradle.develocitySettings.buildOutputCapturingEnabled |
Whether the build was configured to capture logging output for the build. |
Boolean |
>=2023.4 |
gradle.develocitySettings.fileFingerprintCapturingEnabled |
Whether the build was configured to capture file fingerprints. |
Boolean |
>=2024.2 |
gradle.develocitySettings.resourceUsageCapturingEnabled |
Whether the build was configured to capture resource usage. |
Boolean |
>=2024.2 |
gradle.develocitySettings.taskInputsFileCapturingEnabled |
Whether the build was configured to capture task input files. |
Boolean |
2023.4 to 2024.1.6 |
gradle.develocitySettings.testOutputCapturingEnabled |
Whether the build was configured to capture test logging output for the build. |
Boolean |
>=2023.4 |
gradle.environment.jreVersion |
Version of the Java runtime that executed the build. |
String |
>=2023.4 |
gradle.environment.jvmCharset |
Default charset of the build JVM. |
String |
>=2023.4 |
gradle.environment.jvmLocale |
Locale of the build JVM. |
String |
>=2023.4 |
gradle.environment.jvmMaxMemoryHeapSize |
Maximum heap memory available to the build JVM. |
StorageSize |
>=2023.4 |
gradle.environment.jvmVersion |
Version of the Java Virtual Machine that executed the build. |
String |
>=2023.4 |
gradle.environment.localIPAddress |
Local IP addresses of the build machine. |
String |
>=2023.4 |
gradle.environment.localHostname |
Hostname of the build machine, as specified by itself. |
String |
>=2023.4 |
gradle.environment.numberOfCpuCores |
Number of cores available to the build JVM. |
Number |
>=2023.4 |
gradle.environment.operatingSystem |
Operating system of the build machine. |
String |
>=2023.4 |
Maven-specific fields
Fields whose name is prefixed with "maven." are specific to Maven and select only Maven builds.
Name | Description | Data type | Version availability |
---|---|---|---|
maven.extensionVersion |
The applied version of the Develocity Maven extension. |
String |
>=2023.3 |
maven.requestedGoals |
The resolved set of requested goals for the Maven build. |
String |
>=2023.3 |
maven.topLevelProjectName |
The name of the top level Maven project. |
String |
>=2023.3 |
maven.buildCache.local.enabled |
Whether the local Maven Build Cache was enabled. |
Boolean |
>=2024.1.1 |
maven.buildCache.remote.enabled |
Whether the remote Maven Build Cache was enabled. |
Boolean |
>=2024.1.1 |
maven.buildCache.remote.pushEnabled |
Whether pushing to the remote Maven Build Cache was enabled. |
Boolean |
>=2024.1.1 |
maven.buildCache.hasError |
Whether any Build Cache error or artifact rejections occurred during the build. |
Boolean |
>=2023.4 |
maven.buildOptions.batchModeEnabled |
Whether the build was configured to run in non-interactive (batch) mode. |
Boolean |
>=2023.4 |
maven.buildOptions.debugEnabled |
Whether the build was configured to produce execution debug output. |
Boolean |
>=2023.4 |
maven.buildOptions.errorsEnabled |
Whether the build was configured to produce execution error messages. |
Boolean |
>=2023.4 |
maven.buildOptions.failAtEndEnabled |
Whether the build was configured to only fail at the end. |
Boolean |
>=2023.4 |
maven.buildOptions.failFastEnabled |
Whether the build was configured to fail at the first error. |
Boolean |
>=2023.4 |
maven.buildOptions.failNeverEnabled |
Whether the build was configured to never fail, regardless of errors produced. |
Boolean |
>=2023.4 |
maven.buildOptions.laxChecksumsEnabled |
Whether the build was configured to only warn if checksums don’t match. |
Boolean |
>=2023.4 |
maven.buildOptions.maxNumberOfThreads |
Maximum number of threads used when executing the build. |
Number |
>=2023.4 |
maven.buildOptions.nonRecursiveEnabled |
Whether the build was configured to not recurse into subprojects. |
Boolean |
>=2023.4 |
maven.buildOptions.noSnapshotUpdatesEnabled |
Whether the build was configured to suppress snapshot updates. |
Boolean |
>=2023.4 |
maven.buildOptions.offlineModeEnabled |
Whether the build was configured to run offline. |
Boolean |
>=2023.4 |
maven.buildOptions.quietEnabled |
Whether the build was configured to run in quiet mode. |
Boolean |
>=2023.4 |
maven.buildOptions.rerunGoalsEnabled |
Whether the build was configured to rerun goals without checking the Build Cache. |
Boolean |
>=2023.4 |
maven.buildOptions.strictChecksumsEnabled |
Whether the build was configured to fail if checksums don’t match. |
Boolean |
>=2023.4 |
maven.buildOptions.updateSnapshotsEnabled |
Whether the build was configured to force a check for missing releases and updated snapshots on remote repositories. |
Boolean |
>=2023.4 |
maven.develocitySettings.buildCacheEnabled |
Whether the Maven Build Cache was enabled. |
Boolean |
>=2024.1.1 |
maven.develocitySettings.backgroundPublicationEnabled |
Whether Build Scan data was published in the background. |
Boolean |
>=2023.4 |
maven.develocitySettings.buildOutputCapturingEnabled |
Whether the build was configured to capture logging output for the build. |
Boolean |
>=2023.4 |
maven.develocitySettings.fileFingerprintCapturingEnabled |
Whether the build was configured to capture goal input file fingerprints. |
Boolean |
>=2024.2 |
maven.develocitySettings.goalInputsFileCapturingEnabled |
Whether the build was configured to capture goal input files. |
Boolean |
2023.4 to 2024.1.6 |
maven.develocitySettings.resourceUsageCapturingEnabled |
Whether the build was configured to capture resource usage. |
Boolean |
>=2024.2 |
maven.develocitySettings.testOutputCapturingEnabled |
Whether the build was configured to capture test logging output for the build. |
Boolean |
>=2023.4 |
maven.environment.jreVersion |
Version of the Java runtime that executed the build. |
String |
>=2023.4 |
maven.environment.jvmCharset |
Default charset of the build JVM. |
String |
>=2023.4 |
maven.environment.jvmLocale |
Locale of the build JVM. |
String |
>=2023.4 |
maven.environment.jvmMaxMemoryHeapSize |
Maximum heap memory available to the build JVM. |
StorageSize |
>=2023.4 |
maven.environment.jvmVersion |
Version of the Java Virtual Machine that executed the build. |
String |
>=2023.4 |
maven.environment.localIPAddress |
Local IP addresses of the build machine. |
String |
>=2023.4 |
maven.environment.localHostname |
Hostname of the build machine, as specified by itself. |
String |
>=2023.4 |
maven.environment.numberOfCpuCores |
Number of cores available to the build JVM. |
Number |
>=2023.4 |
maven.environment.operatingSystem |
Operating system of the build machine. |
String |
>=2023.4 |
Bazel-specific fields
Fields whose name is prefixed with "bazel." are specific to Bazel and select only Bazel builds.
Name | Description | Data type | Version availability |
---|---|---|---|
bazel.requestedTargets |
The resolved set of requested targets for the Bazel build. |
String |
>=2023.3 |
sbt-specific fields
Fields whose name is prefixed with "sbt." are specific to sbt and select only sbt builds.
Name | Description | Data type | Version availability |
---|---|---|---|
sbt.pluginVersion |
The applied version of the Develocity sbt plugin. |
String |
>=2023.3 |
sbt.requestedTasks |
The resolved set of requested tasks for the sbt build. |
String |
>=2023.3 |
sbt.rootProjectName |
The name of the top level sbt project. |
String |
>=2023.3 |
sbt.buildOptions.interactiveModeEnabled |
Whether the build was run from the sbt shell. |
Boolean |
>=2023.4 |
sbt.buildOptions.offlineModeEnabled |
Whether the build was configured to run offline. |
Boolean |
>=2023.4 |
sbt.buildOptions.parallelExecutionEnabled |
Whether the build was configured to use parallel tasks execution. |
Boolean |
>=2023.4 |
sbt.buildOptions.semanticDbScalacPluginEnabled |
Whether the projects in the build were configured to use the SemanticDB Scalac plugin. |
Boolean |
>=2023.4 |
sbt.buildOptions.turboEnabled |
Whether the build was configured to use turbo mode. |
Boolean |
>=2023.4 |
sbt.buildOptions.useCoursierEnabled |
Whether Coursier was used for dependency resolution. |
Boolean |
>=2023.4 |
sbt.develocitySettings.backgroundPublicationEnabled |
Whether Build Scan data was published in the background. |
Boolean |
>=2023.4 |
sbt.environment.jreVersion |
Version of the Java runtime that executed the build. |
String |
>=2023.4 |
sbt.environment.jvmCharset |
Default charset of the build JVM. |
String |
>=2023.4 |
sbt.environment.jvmLocale |
Locale of the build JVM. |
String |
>=2023.4 |
sbt.environment.jvmMaxMemoryHeapSize |
Maximum heap memory available to the build JVM. |
StorageSize |
>=2023.4 |
sbt.environment.jvmVersion |
Version of the Java Virtual Machine that executed the build. |
String |
>=2023.4 |
sbt.environment.localIPAddress |
Local IP addresses of the build machine. |
String |
>=2023.4 |
sbt.environment.localHostname |
Hostname of the build machine, as specified by itself. |
String |
>=2023.4 |
sbt.environment.numberOfCpuCores |
Number of cores available to the build JVM. |
Number |
>=2023.4 |
sbt.environment.operatingSystem |
Operating system of the build machine. |
String |
>=2023.4 |
Field data types
Every supported field in the advanced search query language is associated with one data type. A field’s data type indicates what values it accepts, and each has its own syntax. The data types are all described below.
Data type | Description |
---|---|
String |
Strings can be exact matches or use the * wildcard, unless specified otherwise. Whitespace and special characters need to be double-quoted. Searches are case-insensitive.
|
Key-value pair |
These take the form fieldName:key=value, with wildcards allowed and double-quoting required for whitespace and special characters.
|
Duration |
Durations can be specified using ISO 8601 duration syntax or a simple syntax like 5m or 24h.
The units supported for simple duration syntax are 'd' for days, 'h' for hours, 'm' for minutes, 's' for seconds, and 'ms' for milliseconds. |
Timestamp |
Timestamps can be specified in a few different ways.
All timestamps can have an optional timezone offset appended in the form Z or +HH:SS to be specific about which timezone the timestamp is being specified in. Default is timezone of the current web browser when using advanced search in Build Scan dashboards. Default is always UTC when using the Enterprise API. Timestamps in the form of a date can be queried using equality.
Timestamps can be queried using ranges in the form [start to finish].
A timestamp can also be specified relative to the current time using duration syntax.
|
Boolean |
Boolean fields can be included as terms themselves, or they can have a value specified. If the term is used by itself, it is treated as if the value is "true", as is conventional.
Some boolean fields distinguish between a false value, and an unknown value. You can use a wildcard to acknowledge the account for unknown booleans in your queries. The first query below will match all builds for which the Build Cache was known to be either enabled or disabled. The second will match all builds for which it is unknown whether the Build Cache was enabled or disabled.
The following term will match builds where the Build Cache was not known to be enabled, rather than builds where the Build Cache was known to be disabled.
|
Number |
Numbers can be exact matches or use a range. They can be integers or decimals, although for some fields only integers really make sense, for example the max number of workers in a Gradle build is always an integer.
|
Storage size |
Storage sizes represent a number of bytes. They are ultimately numbers, but they can have units, for convenience. As with numbers, they can be exact matches or use a range. If no unit is appended, the number value is interpreted as a number of bytes.
The units supported are:
Optionally, a 'b' may be appended to the end of these units. Thus, 500mb is the same as 500m, and 500mib is the same as 500mi. Units are also case-insensitive, so 500MiB is the same as 500mib. |
Combining terms
By default, all terms must match.
Terms can be combined using boolean and and or operators, and grouped using parentheses.
-
user:dylan or (tag:CI and value:branch=dylan/*)
Terms can also be negated using - or not.
-
project:my-project -tag:local
-
user:dylan or not (tag:CI and value:branch=dylan/*)