Skip to main content

Run the import in CI

During a migration, SSIS packages keep changing until the day they are switched off. Re-run the import on every change, and let the exit code tell the pipeline whether something broke.

The command​

Use the standalone jar: it needs only Java 21, not a Hop installation.

java -jar importer-ssis.jar --no-skip-existing ssis-packages hop-output

--no-skip-existing makes every run write the current conversion, so the output always matches the input.

Leave --translate-scripts out in CI: a language model does not give the same answer twice, so the translated scripts would change on every run. Get the drafts from a separate import, and finish them in the Hop project you work in; see Translate Script Components.

Exit codes​

Exit codeMeaningIn CI
0Every package convertedPass
1The import crashed, or the input folder does not existFail
2The command line could not be parsedFail
3The import finished, but at least one package could not be read or converted; the report lists them under Packages that failed to importFail, or warn while you work through them

A component that fails to convert does not fail its package: it becomes a placeholder and is reported. So exit code 0 means every package produced a workflow, not that every component converted. Read the report for that.

Keep the output reviewable​

Apart from the creation date that Hop stores in every pipeline and workflow, the importer writes the same files for the same input. Commit the output, and the diff of each change shows what the SSIS change did to the Hop side. Keep the report in the commit too: the change in its Totals is the progress of the migration.