liquibase-github-actions/Liquibase Generate Changelog Action

Generate a changelog

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Maintainedlast commit Aug 6, 2025
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: liquibase-github-actions/generate-changelog@600fd6b6ca8a25e6aa39aa1a4f9a4d61f34d3fd1 # v4.33.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
authorSpecifies the author for changesets in the generated changelogno
changelogFileChangelog file to write resultsno
contextFilterChangeset contexts to generateno
dataOutputDirectorySpecifies a directory to send the loadData output of a diff-changelog/generate-changelog command as a CSV file.no
defaultCatalogNameThe default catalog name to use for the database connectionno
defaultSchemaNameThe default schema name to use for the database connectionno
diffTypesTypes of objects to compareno
driverThe JDBC driver classno
driverPropertiesFileThe JDBC driver properties fileno
excludeObjectsObjects to exclude from diff. Supports regular expressions. Defaults to null.no
ignoreMissingReferencesIf true, diff operations will ignore referenced objects which are not found in a snapshot.no
includeCatalogIf true, the catalog will be included in generated changeSets. Defaults to false.no
includeObjectsObjects to include in diff. Supports regular expressions. Defaults to null.no
includeSchemaIf true, the schema will be included in generated changeSets. Defaults to false.no
includeTablespaceInclude the tablespace attribute in the changelog. Defaults to false.no
labelFilterChangeset labels to generateno
outputSchemasOutput schemas names. This is a CSV list.no
overwriteOutputFileFlag to allow overwriting of output changelog file. Default: falseno
passwordPassword to use to connect to the databaseno
replaceIfExistsTypesSets replaceIfExists="true" for changes of these types (supported types: createProcedure, createView)no
runOnChangeTypesSets runOnChange="true" for changesets containing solely changes of these types (e. g. createView, createProcedure, ...).no
schemasSchemas to include in diffno
skipObjectSortingWhen true will skip object sorting. This can be useful on databases that have a lot of packages/procedures that are linked to each otherno
url*required* The JDBC database connection URLyes
useOrReplaceOptionIf true, will add "OR REPLACE" option to the create view change objectno
usernameUsername to use to connect to the databaseno
addEmptyMdcValuesIf true, a subset of the MdcKeys, as defined by product, will be set to empty strings upon system startup.no
allowDuplicatedChangesetIdentifiersAllows duplicated changeset identifiers without failing Liquibase execution.no
alwaysDropInsteadOfReplaceIf true, drop and recreate a view instead of replacing it.no
alwaysOverrideStoredLogicSchemaWhen generating SQL for createProcedure, should the procedure schema be forced to the default schema if no schemaName attribute is set?no
analyticsConfigCacheTimeoutMillisLiquibase caches the results from the config endpoint, and this value determines how long that cache should live for before being refreshed.no
analyticsConfigEndpointTimeoutMillisno
analyticsConfigEndpointUrlno
analyticsDevOverrideBy default, Liquibase will not send analytics in dev (non release) builds. To override this behavior, set this value to true and provide a value for liquibase.analytics.configEndpointUrlno
analyticsEnabledEnable or disable sending product usage data and analytics to Liquibase. Learn more at https://docs.liquibase.com/analytics.no
analyticsLicenseKeyCharsNumber of characters of the license key that should be appended to the userId. This is used in the event that the same customer has multiple license keys associated with them.no
analyticsLogLevelno
analyticsTimeoutMillisBy default, the timeout for sending data to the remote endpoint is configured in the config endpoint. Any value set here will override that value.no
autoReorgShould Liquibase automatically include REORG TABLE commands when needed?no
changelogLockPollRateNumber of seconds wait between checks to the changelog lock when it is lockedno
changelogLockWaitTimeInMinutesNumber of minutes to wait for the changelog lock to be available before giving upno
changelogParseModeConfigures how to handle unknown fields in changelog files. Possible values: STRICT which causes parsing to fail, and LAX which continues with the parsing.no
checksCompatibilityEnabledEnable liquibase-checks extension compatibility check. Can be used when running tests to turn off the check.no
classpathAdditional classpath entries to useno
convertDataTypesShould Liquibase convert to/from STANDARD data types. Applies to both snapshot and update commands.no
customLogDataFile[PRO]Relative or fully qualified path to a yaml file containing key:value data to inject or exclude data from JSON structured logs. Learn more at https://docs.liquibase.com/structured-loggingno
customLogDataFrequency[PRO]The frequency that the custom log data will be entered into the logs. Available options are: ONCE,REPEATEDno
databaseChangelogLockTableNameName of table to use for tracking concurrent Liquibase usageno
databaseChangelogTableNameName of table to use for tracking change historyno
databaseClassClass to use for Database implementationno
db2zDatabasechangelogIndexThe index name for the DATABASECHANGELOG table on DB2 z/OSno
db2zDatabasechangeloglockIndexThe index name for the DATABASECHANGELOGLOCK table on DB2 z/OSno
db2zTrackingTablesLocationDatabaseThe database name for the Liquibase tracking tables on DB2 z/OSno
db2zTrackingTablesLocationTablespaceThe tablespace name for the Liquibase tracking tables on DB2 z/OSno
dbclhistoryCaptureExtensionsIf true, extensions are captured in the history tableno
dbclhistoryCaptureSqlIf true, executed SQL is captured in the history tableno
dbclhistoryEnabled[PRO]This property enables Liquibase Pro users to store a record of all database changing liquibase operations in a new table DATABASECHANGELOGHISTORY. This table includes records of rollback, dropalls, and repeated runOnChange type activity, which is not available in the standard DATABASECHANGELOG table.no
dbclhistorySeverityThe exit code to use if an exception is encountered while recording history eventsno
dbclhistoryTableNameno
ddlLockTimeoutThe DDL_LOCK_TIMEOUT parameter indicates the number of seconds a DDL command should wait for the locks to become available before throwing the resource busy error message. This applies only to Oracle databases.no
defaultsFileFile with default Liquibase propertiesno
diffColumnOrderShould Liquibase compare column order in diff operation?no
duplicateFileModeHow to handle multiple files being found in the search path that have duplicate paths. Options are SILENT (do not log and choose one at random), DEBUG, INFO, WARN (log at the given level and choose one at random), or ERROR (fail current operation).no
errorOnCircularIncludeAllThrow an error if Liquibase detects that an includeAll will cause a circular reference (and thus a changelog parse error).no
fileEncodingEncoding to use when reading files. Valid values include: UTF-8, UTF-16, UTF-16BE, UTF-16LE, US-ASCII, or OS to use the system configured encoding.no
filterLogMessagesDEPRECATED: No longer usedno
flowVerboseToStringIf true, display a more verbose output for the FlowFile toString representationno
generateChangesetCreatedValuesShould Liquibase include a "created" attribute in diff/generateChangelog changesets with the current datetimeno
generatedChangesetIdsContainsDescriptionShould Liquibase include the change description in the id when generating changesets?no
headlessForce Liquibase to think it has no access to a keyboardno
includeCatalogInSpecificationShould Liquibase include the catalog name when determining equality?no
includeMatchingTagInRollbackOldestIf set to true, and there are multiple identical tags in the database changelog table, all of the newer matching tags will be rolled back while rolling back to the oldest tag. The default value for this option was false for all Liquibase versions equal to or older than 4.25.1.no
includeRelationsForComputedColumnsIf true, the parent relationship for computed columns is preserved in snapshot-dependent commands: snapshot and diffno
includeSchemaNameForDefaultIf true, the schema name is included for the default schema when loading a snapshotno
includeSystemClasspathInclude the system classpath when resolving classes at runtimeno
integrationNameThe name of the integration used to invoke Liquibase, for example, cli, or JavaAPI. It is not required to specify this value. This is primarily used by wrappers around Liquibase (like Gradle), so that analytics can be differentiated for those integrations.no
jclCreateLogFileIf true, then write to a JCL log fileno
jclLogFilePathLog file path for JCL outputno
jclMinimumErrorReturnCodeMinimum return code recognized as an errorno
jclOverwriteLogFileIf true, overwrite JCL log fileno
licenseUtilityEnabledEnable or disable sending license usage data.no
licenseUtilityLogLevelno
licenseUtilityTimeoutTime, in milliseconds, to wait for HTTP request to completeno
licenseUtilityTrackingIdSpecifies an identifier (e.g., team name, pipeline ID, or environment) to track and analyze Liquibase license usage. If not provided, the hostname and user is used for identification.no
licenseUtilityUrlno
licenseKeyLiquibase Pro or Liquibase Labs license key used to unlock paid capabilities. Get a free trial at https://liquibase.com/trial and use in CLI or add liquibase.licenseKey=<yourKey> into your defaults file.no
liquibaseCatalogNameCatalog to use for Liquibase objectsno
liquibaseSchemaNameSchema to use for Liquibase objectsno
liquibaseTablespaceNameTablespace to use for Liquibase objectsno
logChannelsControls which log channels have their level set by the liquibase.logLevel setting. Comma separate multiple values. To set the level of all channels, use "all". Example: liquibase,org.mariadb.jdbcno
logFileUsers can use .gz file extension to enable log files compression.no
logFormatSets the format of log output to console or log files. Open Source users default to unstructured "TEXT" logs to the console or output log files. Pro users have the option to set value as "JSON" or "JSON_PRETTY" to enable json-structured log files to the console or output log files.no
logLevelControls which logs get set to stderr AND to any log file. The CLI defaults, if log file set, to SEVERE. Others vary by integration. The official log levels are: OFF, SEVERE, WARNING, INFO, FINEno
mirrorConsoleMessagesToLogWhen set to true, the console messages are mirrored to the logs as [liquibase.ui] to provide a more complete picture of liquibase operations to log analysis tools. Set to false to change this behavior.no
mirrorOutputToConsole[PRO]When set to true, console output will be mirrored to both the specified output-file and the console. If output-file is not set, the "mirror-output-to-console" argument has no effect.no
missingPropertyModeHow to handle changelog property expressions where a value is not set. For example, a string "${address}" when no "address" property was defined. Values can be: "preserve" which leaves the string as-is, "empty" which replaces it with an empty string, or "error" which stops processing with an error.no
monitorPerformanceEnable performance tracking. Set to "false" to disable. If set to "true", data is stored to a `liquibase-TIMESTAMP.jfr` file in your working directory. Any other value will enable tracking and be used as the name of the file to write the data to.no
mysqlEnableDbclPrimaryKey[PRO]Flag to enable composite primary key for newly added DBCL tables. Disabled by defaultno
nativeExecutorCustom executor that can specifiedno
onMissingIncludeChangelogIf set to WARN, then liquibase will not throw exception on missing changelog file, instead will show a warning message.no
onMissingSqlFileIf set to WARN, then Liquibase will not throw exception on missing sqlFile inside a sqlFile change type, instead will show a warning messageno
outputFileno
outputFileEncodingEncoding to use when writing filesno
outputLineSeparatorLine separator for outputno
preserveClasspathPrefixInNormalizedPathsIf true "classpath:" prefix will be preserved in normalized paths, allowing to resolve hierarchical resources under a classpath-based root.no
preserveSchemaCaseIf true, Liquibase treats schema and catalog names as case sensitiveno
proForceOnPartialChangesIf true, rollback execution will be forced when having partial changes that needs to be rolled back. Defaults to false.no
proGlobalEndDelimiter[PRO]The default end delimiter to use for all change setsno
proGlobalEndDelimiterPrioritized[PRO]If true, the global end delimiter overrides all other settingsno
proGlobalStripComments[PRO]The default strip comments to use for all change setsno
proGlobalStripCommentsPrioritized[PRO]If true, the global strip comments overrides all other settingsno
proLicenseKeyDEPRECATED: Liquibase Pro license key used to unlock paid capabilities. Get a free trial at https://www.liquibase.com/protrial and use in CLI or add liquibase.pro.licenseKey=<yourKey> into your defaults file.no
proMarkUnusedNotDropIf a column would be dropped in a diffChangeLog, call markUnused instead if set to trueno
proSqlInlineIf true, generate changeSets with SQL-based changes inlined instead of saving them to an external fileno
proSynonymsDropPublicIf false, do not drop public synonyms in diffChangeLog/dropAllno
proStrict[PRO]If true, the Liquibase operations will fail when specified paths to Pro resource files (flow files, checks settings files, native executor conf files, etc) or rollback scripts are missing or empty.no
promptForNonLocalDatabaseShould Liquibase prompt if a non-local database is being accessedno
propertyProviderClassImplementation of Properties class to provide additional driver propertiesno
reportsEnabled[PRO]Enable or disable reporting.no
reportsFormat[PRO]The format of the report. Currently, can only be set to "html".no
reportsName[PRO]The name of the reports.no
reportsOpen[PRO]Open the newly generated report in your default browser.no
reportsPath[PRO]The path to the directory to generate the reports.no
reportsQuiet[PRO]Minimize the amount of logging when generating reports.no
reportsSuppressException[PRO]Global setting to prevent the display of exceptions in operation reports.no
reportsSuppressSql[PRO]Global setting to prevent the display of changeset SQL in operation reports.no
scriptPythonExecutablePathPath to a Python executable associated with a virtual environmentno
searchPathComplete list of Location(s) to search for files such as changelog files in. Multiple paths can be specified by separating them with commas.no
secureParsingIf true, remove functionality from file parsers which could be used insecurely. Examples include (but not limited to) disabling remote XML entity support.no
shouldRunShould Liquibase commands executeno
shouldSnapshotDataShould Liquibase snapshot data by default?no
showBannerIf true, show a Liquibase banner on startup.no
showHiddenArgsIf true, all command arguments marked as hidden will be shown in the help output, ignoring the hidden flag. NOTE, due to the order of value provider loading at such an early point in Liquibase startup, you MUST set this as a environment variable. Command line parameters will not be recognized.no
snowflakeAuthPrivateKeyPassphrase[PRO]Path to private key used for PKI Authentication type. Usually requires "snowflake-auth-type" property configured.no
snowflakeAuthPrivateKeyPath[PRO]Path to private key used for PKI Authentication type. Usually requires "snowflake-auth-type" property configured.no
snowflakeAuthToken[PRO]Value of the token used for specified Authentication type. Usually requires "snowflake-auth-type" property configured.no
snowflakeAuthType[PRO]The type or mechanism of Snowflake database authenticationno
sqlAlwaysSetFetchSizeIf true, all queries will have their fetch size set to the fetch size defined in their database implementation. This has the effect of informing the driver how many rows should be fetched when processing the result set. This is not guaranteed to be respected by the driver, but if respected, should improve query performance significantly.no
sqlLogLevelLevel to log SQL statements tono
sqlShowSqlWarningsShow SQLWarning messagesno
strictIf true, Liquibase enforces certain best practices and proactively looks for common errorsno
supportPropertyEscapingSupport escaping changelog parameters using a colon. Example: ${:user.name}no
supportsMethodValidationLevelControls the level of validation performed on the supports method of Change classes. Options are OFF, WARN, FAIL.no
suppressLiquibaseSqlWhen set to true, this global property prevents DBCL and DBCLH sql from being present in console and logs during *-sql commands, such as update-sql, rollback-sql, etc.no
trimLoadDataFileHeaderIf true column headers will be trimmed in case they were specified with spaces in the file.no
uiServiceChanges the default UI Service Logger used by Liquibase. Options are CONSOLE or LOGGER.no
useProcedureSchemaIf set to true (default value), createProcedure tags with a set schemaName will modify the procedure body with the given schema name.no
validateXmlChangelogFilesWill perform XSD validation of XML changelog files. When many XML changelog files are included, this validation may impact Liquibase performance. Defaults to true.no
workaroundOracleClobCharacterLimitIf true, long strings in Oracle will be chunked at 4000 characters when an insert statement is run, to avoid running afoul of Oracle"s 4000 character limit for insert statements to clob type columns (which appears as "ORA-01704: string literal too long.")no

no outputs