Skip to main content
Pentaho Documentation

Import and Export PDI Content

You can import and export PDI content from and to a repository by using PDI's built-in functions, explained in these subsections.

Among other purposes, these procedures are useful for backing up and restoring content in the solution repository. However, users, roles, permissions, and schedules will not be included in import/export operations. If you want to back up these things, you should follow the procedure in Backup and Restore Pentaho Repositories instead.

Import Content Into a Repository

Follow the instructions below to import the repository. You must already be logged into the repository in Spoon before you perform this task.

  1. In Spoon, go to Tools > Repository > Import Repository.
  2. Locate the export (XML) file that contains the solution repository contents.
  3. Click Open. The Directory Selection dialog box appears.
  4. Select the directory in which you want to import the repository.
  5. Click OK.
  6. Enter a comment, if applicable.
  7. Wait for the import process to complete.
  8. Click Close.

The full contents of the repository are now in the directory you specified.

Import Content from the Command Line

The import script is a command-line utility that pulls content into an enterprise or database repository from an individual .kjb or .ktr file, or from complete repository export XML files.

You must also declare a rules file that defines certain parameters for the data integration content you are importing. We provide a sample file called import-rules.xml, which is included with the standard Data Integration client tool distribution. It contains all the potential rules, along with comments that describe what each rule does. You can either modify the import-rules.xml file or copy its contents to another file, and then declare the rules file as a command-line parameter.

The table below defines command-line options for the import script, which are declared using the syntax specific to the operating system type:

  • Linux: Options are declared using a dash (-) followed by the option name, then an equals sign (=) and the value, where applicable. For example, -option=value
  • Windows: Options are declared using a forward slash (/) followed by the option name, then a colon (:) and the value, where applicable. For example, /option:value

For options requiring no value entry (replace, coe, and version), a dash or slash (depending on your OS) followed by the option is the equivalent of selecting ‘Yes’; otherwise, the option is ignored.  

Options Definition / Value
rep The name of the enterprise or database repository to import into.
user The repository username you will use for authentication.
pass The password for the username you specified with user.
dir The directory in the repository that you want to copy the content to.
limitdir Optional. A list of comma-separated source directories to include (excluding those directories not explicitly declared).
file The path to the repository export file that you will import from.
rules The path to the rules file, as explained above.
comment The comment that will be set for the new revisions of the imported transformations and jobs.
replace Replace existing transformations and jobs in the repository. (The default is 'No'.)
coe Continue on error, ignoring all validation errors. (The default is 'No'.)
version Show the version, revision, and build date of the PDI instance that the import script interfaces with. (The default is 'No'.)
 

Example import scripts are as follows:

Linux
Import.sh -rep= Archive71 -user=admin -pass=password -coe -replace -dir=/home/admin -file= /Downloads/imagitasDemoEnclosure.ktr -rules=/Downloads/import-rules.xml -comment="New version upload from UAT"
Windows
Import.bat /rep:Archive71 /user:admin /pass:password /coe /replace /dir:\home\admin /file:C:\Downloads\imagitasDemoEnclosure.ktr /rules:C:\Downloads\import-rules.xml /comment:"New version upload from UAT"

Export Content From the Repository

Follow the instructions below to export the repository. You must already be logged into the repository through Spoon to complete this task.

  1. In Spoon, go to Tools > Repository > Export Repository.

  2. In the Save As dialog box, browse to the location where you want to save the export file.
  3. Type a name for your export file in the File Name text box.

The export file will be saved in XML format regardless of the file extension used.

  1. Click Save.

The export file is created in the location you specified. This XML file is a concatenation of all of the data integration content you selected. It is possible to break it up into individual KTR and KJB files by hand or through a transformation.

Export Content from the Command Line

To export repository objects into XML format, using command-line tools instead of exporting repository configurations from within Spoon, use named parameters and command-line options when calling Kitchen or Pan from a command-line prompt.

The following is an example command-line entry to execute an export job using Kitchen:

    call kitchen.bat /file:C:\Pentaho_samples\repository\repository_export.kjb
    "/param:rep_name=PDI2000" "/param:rep_user=admin" "/param:rep_password=password"
    "/param:rep_folder=/public/dev"
    "/param:target_filename=C:\Pentaho_samples\repository\export\dev.xml"
   

Parameter

Description

rep_folder

Repository Folder

rep_name

Repository Name

rep_password

Repository Password

rep_user

Repository Username

target_filename

Target Filename

It is also possible to use obfuscated passwords with Encr, the command line tool for encrypting strings for storage/use by PDI. The following is an example command-line entry to execute a complete command-line call for the export in addition to checking for errors:

   @echo off
   ECHO This an example of a batch file calling the repository_export.kjb
   
   cd C:\Pentaho\pdi-ee-<filepath>--check--</filepath>{{contentVars.PDIvernum3}}>\data-integration
   
   call kitchen.bat /file:C:\Pentaho_samples\repository\repository_export.kjb "/param:rep_name=PDI2000"
   "/param:rep_user=admin" "/param:rep_password=password" "/param:rep_folder=/public/dev"
   "/param:target_filename=C:\Pentaho_samples\repository\export\dev.xml"
   
   if errorlevel 1 goto error
   echo Export finished successful.
   goto finished
   
   :error
   echo ERROR: An error occurred during repository export.
   :finished
   REM Allow the user to read the message when testing, so having a pause
   pause