Export and Import Integration and Process Design-Time Metadata Between Instances with the REST APIs

You can export an Oracle Integration instance to another Oracle Integration instance (for example, to take a snapshot of a production environment and try to recreate a problem in a different environment).

Tip:

Integration Classic only Applies only to Oracle Integration Classic (user-managed).

Prepare to Export and Import Design-Time Metadata

Before you can export and import design-time metadata, you must create a user and group and add policies and create an object storage bucket and construct the storage URL.

You must have the service administrator role to create the storage bucket and import and export design-time metadata.

Export Oracle Integration Design-time Metadata from One Instance

Perform the following command to export Integration and Process design-time metadata to an archive.

  1. To export the Integrations design-time metadata to another Oracle Integration instance, invoke the REST API. This action asynchronously creates an archive that includes all above-mentioned objects.

    Headers
    Authorization : Basic
    Content-Type : application/json
    payload
    {
     "storageInfo": {
           "storageUrl": "https://swiftobjectstorage.us-region-1.oraclecloud.com/v1/
    paasdevoic/cloneRepo",
           "storageUser":"myemail@company.com",                
           "storagePassword":"generated_token"
                    }
    } 
    
    For example, use a postman or curl (as shown below) command to export all design-time metadata to an Oracle Storage Cloud Service instance that you specify:
    curl -k -v -H "Content-Type: application/json" -X POST -d '
    {"storageInfo":{"storageUrl":" https://swiftobjectstorage.us-region-1.oraclecloud.com/v1/
    paasdevoic/cloneRepo","storageUser":"myemail@company.com",
    "storagePassword":"generated_token"}}' -u admin:password
    https://host/ic/api/common/v1/exportServiceInstanceArchive
    where:
    • storageInfo: Is the URL of the storage container.
    • storageUser: Is the storage user name.
    • storagePassword: Is the storage password.
    Possible sample output from this command is as follows:
    {
     "archiveFilename": "archive_Local_Suite_Instance-d1e4295f-e17a-498a-a96e-44dcb417dfb4.zip",
     "jobID": "d1e4295f-e17a-498a-a96e-44dcb417dfb4",
     "location": "https://swiftobjectstorage.us-region-1.oraclecloud.com/v1/paasdevoic/cloneRepo",
     "status": "Starting"
    
  2. Check the status of the export operation using a postman or curl (as shown below) command:
    curl -k -v  -X GET -u admin:password https://host/ic/api/common/v1/exportServiceInstanceArchive/{jobId}
    Possible sample output from this command is as follows:
    {
     "status": "COMPLETED"
    }
    

    The archive is created in the Oracle Storage Cloud Service instance of Oracle Integration.

  3. If the status is completed, you are now ready to import the archive.

Import the Design-Time Metadata into Another Oracle Integration Instance

After exporting Integration and Process design-time metadata to a zip archive file, import the file to another Oracle Integration instance.

When imported into Oracle Integration, the archive is referenced in the payload.

{
  "archiveFile": "archive_file_name",
  "importActivateMode": "ImportActivate", 
    // options are "ImportOnly" || "ActivateOnly" || "ImportActivate"  
  "storageInfo": {    // storageUrl points to the storage container
  "storageUrl":"https://swiftobjectstorage.us-region-1.oraclecloud.com/v1/paasdevoic/
cloneRepo", 
                   "storageUser":"myemail@company.com",
                   "storagePassword":"generated_token"
                 }
}
  1. To import the archive, go to the Oracle Integration instance and invoke the REST API. This action retrieves the archive from the Oracle Storage Cloud Service instance where the archive was created.

    Headers
    Authorization : Basic
    Content-Type : application/json
    payload
    {
      "archiveFile": "archive_Local_Suite_Instance-67e7358b-077b-420f-9e04-e9b9e8374b68.zip
    ",
      "importActivateMode": "ImportActivate", 
        // options are "ImportOnly" || "ActivateOnly" || "ImportActivate" 
      "storageInfo": {
                     "storageUrl":"https://swiftobjectstorage.us-region-1.oraclecloud.com/
    v1/paasdevoic/cloneRepo",
          "storageUser":"myemail@company.com",
          "storagePassword":"generated_token"
      }
    }
    For example, use a postman or curl (as shown below) command to import the archive of design time objects into Oracle Integration. You can set importActivateMode to the following values:
    • ImportOnly: Imports, but does not activate, integrations.

    • ActivateOnly: Activates previously imported integrations. This enables you to update connection parameters before activating integrations.

    • ImportActivate: Imports and activates integrations.

    curl -k -v -H "Content-Type: application/json" -X POST -d '{"archiveFile": 
    "archive_Local_Suite_Instance-67e7358b-077b-420f-9e04-e9b9e8374b68.zip", 
    "importActivateMode": "ImportOnly", "storageInfo": { "storageUrl":"https://
    swiftobjectstorage.us-region-1.oraclecloud.com/v1/paasdevoic/cloneRepo","storageUser"
    :"myemail@company.com", "storagePassword":"generated_token"}}' -u admin:password
    https://host/ic/api/common/v1/importServiceInstanceArchive
    Possible sample output from this command is as follows:
    {
    "jobId":"554",
    "status":"NOT_STARTED"
    }
  2. Check the status of the import operation using a postman or curl (as shown below) command:

    curl -k -v  -X GET -u admin:password https://host/ic/api/common/v1/
    importServiceInstanceArchive/554
    Possible sample output from this command is as follows. Other potential output includes RUNNING , COMPLETED, and FAILED.
    {
       "jobId":"5108",
       "overallStatus":"RUNNING",
       "componentStatus":[
        {
          "component":"Integration",
          "status":"RUNNING"
        }
      ]
    }
    {
       "jobId":"5108",
       "overall Status":"COMPLETED",
       "componentStatus":[
        {
          "component":"Integration",
          "status":"COMPLETED",
          "percentage":100
        }
      ]
    } 
  3. Log in to your Oracle Integration instance.

  4. Browse the pages and note that the design-time metadata you exported from your Oracle Integration Classic instance are now visible. For example, for Integrations, look for integrations, connections, lookups, and more. For Processes, look for process applications and decision models.