- Concept
- Version ยท 6.0
- Manage
Configure operation reporting
Last updated: September 29, 2026
Configure Liquibase Server environment variables.
The reporting extension reads its settings through Liquibase's standard configuration system. You can set each value in liquibase.properties, in a file passed with --defaults-file, as an environment variable prefixed with LIQUIBASE_PLATFORM_, or as a JVM system property (-D flag). Liquibase's normal precedence applies, so a system property overrides an environment variable, which overrides a properties file.
the server is disabled by default (opt-in).
Warning: Operation reporting is a Liquibase Secure feature and runs only on a licensed Liquibase Secure installation. On Liquibase Community the extension disables itself (your Liquibase command still runs, but no data is sent). Liquibase Community is not a supported configuration.
Configuration properties
These are the variables you need to connect to the server.
Env Variable | System Property | Default | Description |
|---|---|---|---|
|
|
| Enable/disable operation reporting (opt-in) |
|
| โ | API root for your deployment, for example https://liquibase.example.com/api (required for HTTP mode) |
|
| โ | API key for HTTP mode |
|
| โ | Connection identifier string (e.g., |
|
| โ | Changelog identifier string (e.g., |
Note: The environment name (dev, staging, prod, etc.) is resolved automatically from the connection's associated environment in the server API. There is no local environment variable to set.
Note: If you don't set an identifier, the operation is attributed to your workspace's default connection or changelog. If you set an identifier that doesn't match anything in your workspace (for example, a typo), the operation ships without that attribution instead of falling back to the default. This prevents a typo from silently attributing an operation to the wrong connection or changelog.
API root
liquibase.platform.apiUrl is the address of your server with /api on the end, not the address of a particular endpoint. Liquibase works out the rest of each URL it needs, so your value stops at /api. A trailing slash makes no difference.
Every Liquibase capability that talks to the platform reads this one setting, so enabling a second capability needs no new connection configuration.
Note: Do not end the root with a resource path such as /operations/ingest. Liquibase appends the resource path itself, so a root that already carries one produces a URL that does not exist.
Derive the root for a standard install
The server exposes its API under /api. Take the URL your team opens in a browser and add that prefix.
Derive the root behind a reverse proxy
If a proxy serves the platform under a path of its own, that path belongs to you and is part of your root. Keep it, then add the API prefix after it.
Minimal configuration
For most setups, you only need these variables:
Configuration methods
Environment variables
System properties
Pass as JVM -D flags (useful for Maven or Gradle builds):
Properties file
Set the values in liquibase.properties, or in any file you pass with --defaults-file:
liquibase.platform.enabled=true
liquibase.platform.apiUrl=http://localhost:3000/api
liquibase.platform.apiKey=your_api_keyNote: Older releases could not read these values from liquibase.properties, because Liquibase's LogService initialized before the defaults file was loaded. That is fixed, and a properties file is now a supported way to configure the server.
Disable operation reporting
To temporarily disable operation reporting:
$env:LIQUIBASE_PLATFORM_ENABLED = "false"Advanced properties
These variables control internal behavior and are not required for normal operation. They are available for troubleshooting or for environments that need non-default tuning.
Env Variable | System Property | Default | Description |
|---|---|---|---|
|
|
| Number of log entries batched per HTTP request |
|
|
| Recovery file for failed HTTP payloads. Retry or inspect later. |
|
|
| Capture and upload HTML reports as artifacts |
|
| auto-detect | Override path to look for HTML reports |
|
|
| Print verbose |
|
|
| When |
Note: The extension does not need its own report name or path. It reads whatever --report-name and --report-path resolved to for the command, so a renamed or relocated report is still uploaded. Set liquibase.platform.reportsPath only when the extension should look somewhere else. It wins over the path Liquibase resolved, and when neither is set the extension falls back to Liquibase's global report path and then to the working directory.
Note: In Liquibase Secure 6.0.0, the extension reads reports from the local file system only. If the report path is an Amazon S3 (s3://) or Azure Storage (az://) location, the report is not uploaded.
Output mode
The extension sends operation data directly to the server API via HTTP POST. Logs are batched and sent automatically after each command runs.
If the API is unreachable, logs are written to a local recovery file (configurable via
LIQUIBASE_PLATFORM_RECOVERY_FILE_PATH)The CLI command still succeeds regardless of API connectivity