- Task
- Version · 6.0
- Govern
Import your existing policy checks
Last updated: September 29, 2026
Bring the checks settings file or checks package your pipeline already uses into Change Governance as a catalog, and keep the file working while you switch.
Before you begin
If your team already runs policy checks from a liquibase.checks-settings.conf or a liquibase.checks-package.yaml, you do not rebuild them in the web application. Import the file and Change Governance creates a catalog named after it, with one package per check category, and every check keeps its parameters, its enabled state, and its severity. Your file keeps working while you move your pipelines over.
Liquibase Secure 6.0 or later is installed where your checks files live, so
liquibase checks exportis available.The file you are importing passes
liquibase checks showtoday. A file last written by Liquibase 4.21 or earlier is in an older layout the import does not read, so runchecks showagainst it with a current CLI first and let--auto-updaterewrite it.
Procedure
Decide what to import
A single checks settings file can be uploaded as it is. A checks package file, or a settings file that links other files or custom Python scripts, is bundled first so the linked files come with it. Either way you end up in the same Import dialog.
Bundle a package file and its linked files
Run checks export against the file your pipeline uses today.
liquibase checks export --checks-settings-file=liquibase.checks-package.yamlIt writes liquibase-checks-export.zip in the working directory, holding the package file, every settings file it links, and a manifest that lists them. Use --format=tar or --format=targz for a different archive type, and --export-file=<path> to name the output. A plain settings file exports too, if you would rather upload an archive than the file itself.
Note: Python scripts are left out of the archive by default. The check's configuration, including the script path, still imports, and a run from the assignment executes the check as long as the machine running checks run can reach the script at that path and has custom scripts enabled.
Import the file
In the web application, go to Govern > Policies to open Manage All Catalogs.
Select Import… and drop in your
.conf,.yaml, or.ymlfile, or the archive from step 2. Files up to 20 MB are accepted.Select Import File.
The import runs while the dialog is open and finishes with a message such as Imported 59 checks in 7 packages into a new catalog. Warnings that did not stop the import, such as a rule ID that appears twice in a file, show with that message.
If the file is not a valid checks settings file, nothing is created and the dialog says so. Fix the file and try again.
Read what you got
The new catalog is named after your file and stamped with the import time. Importing liquibase.checks-settings.conf gives you checks-settings import 2026-09-17 16:27:02.809, with the liquibase. prefix and the extension dropped.
Inside it, the checks are grouped into one package per category. A settings file you dropped in directly gives you the same package names as the Liquibase Default Catalog, so a full file yields Data Protection, Scripting Standards, Metadata Content, and the rest. An archive from checks export prefixes each package with the file it came from, so checks from two files never merge: CSF for the default liquibase.checks-settings.conf, otherwise the file name without its liquibase. prefix and extension, for example CSF-data-protection or security-checks-authorization-and-access. A check the server does not recognize keeps its configuration and lands in an Uncategorized Checks package.
Every check arrives with the parameters, severity, and enabled or disabled state it had in the file. A check you customized in the CLI keeps its link to the built-in check it was derived from.
Rename the catalog and decide which checks you want
Go to Govern > Policies, which lists every catalog.
Open the imported catalog's actions menu, choose Edit Catalog, give it a name your team will recognize, and choose Save. Assignments that already reference the catalog keep working under the new name.
Decide which checks you want. Your checks arrived exactly as your file had them, so if the file already reflects what your team enforces, there is nothing to change. Every check starts at the severity it had in the file, and the default catalog's checks start at the lowest severity, so first runs report and never block.
The Liquibase Default Catalog is where to look for checks you have not used yet. Its packages come with the same checks enabled as a new checks settings file, which is a set chosen to flag risky statements without configuration. The table shows what each package starts with and what to turn on when it fits your team.
Package | Enabled in a new file | Start with | Turn on when |
|---|---|---|---|
Authorization and Access | GRANT, REVOKE, WITH GRANT OPTION, and WITH ADMIN OPTION warnings | All four. They fire only on a privilege change. | The specific-privileges warning, once you list the privileges you want reviewed. |
Data Protection | Drop table, drop column, truncate, modify data type, and SELECT * warnings, plus the affected-row limits, primary key on create table, table must have an index, column count, and change type detection | The five statement warnings. They are silent on a well-formed changeset. | The affected-row limits once you have set a threshold for your data (they ship at 50 rows). The primary key, index, and column count checks when you are ready to act on schema findings (the index check needs database scope). Change type detection when you want to block change types the warnings do not cover. |
Metadata Content | Formatted SQL header required, plus changeset context, label, and comment required | Formatted SQL header required. | The context, label, and comment checks once every changeset carries those attributes, and the user-defined context and label checks once you have a fixed list of allowed values. |
Scripting Standards | Rollback required, one change per changeset, runInTransaction value, and the SQL*Plus slash terminator check | Rollback required. | One change per changeset when your team follows that convention. The runInTransaction check when you require the attribute to be set explicitly. The slash terminator check on Oracle. Object naming and pattern checks once you have a naming standard or a pattern to enforce. |
Database Compatibility | Warn on USE DATABASE | Nothing, unless your scripts switch databases. | The reserved-keyword check for your platform, once you choose the object types to check. |
Sensitive Data | Nothing | Nothing. | The identifier types you store, such as personal, financial, or health data. |
Advanced Policies | Nothing | Nothing. | Your own Python or chained checks. |
Enable or disable a policy check covers toggling one check or a whole package, and Browse the policy catalog covers copying a check into your package.
Assign the package and switch your pipeline
Select the package, choose Assign, then + New Assignment, and create an assignment covering the projects, pipelines, connections, or changelogs it governs. The save dialog lists everything the change affects before you choose Confirm & Save. Assigning a single check adds its whole package, with the other checks disabled for that assignment.
Put the assignment ID in your pipeline next to the server URL and API key, as Run checks with a policy assignment shows.
Note: When both an assignment ID and a checks settings file are present, the assignment wins and the file is ignored. Your pipeline keeps working on the file until you add the ID, and nothing breaks if you leave the file in place afterwards. Remove the file once every pipeline uses the assignment.
What does not come across
Custom Python check scripts. The server stores each check's configuration, including the script path, but not the script itself. A run from the assignment executes the check when the machine running it can reach the script at that path and has custom scripts enabled. Otherwise the check is reported as not applicable.
Targeting files. Targeting rules live in their own file that the import does not read, so they stay with the CLI.
A package file that includes another package file.
checks exportrefuses nested package files. Export each one separately.Files in the format 1.0 layout. Regenerate them with a current CLI first.
What to do next
Your checks are a catalog on the server, tuned as they arrived. Define policy assignments to map the package to the projects, pipelines, and changelogs it governs. Then run checks with a policy assignment from your pipeline in place of the settings file.