Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updates to the guidelines.

In this article

...

Use the Project Migration API to migrate a SnapLogic Project from one Org to another.

Note

When you migrate a Project more than once, the existing assets are overwritten. You might have to associate your Tasks with the correct Pipelines after the migration. Typically, even after multiple migrations, account references remain intact in the Pipeline, but we recommend that you verify all references before starting your Pipeline executions.

POST api/1/rest/public/project/migrate/<project_pathname>

...

Parameter NameDescriptionDefault ValueExample
dest_path

The path of the target destination. 

Note

In the 4.24 Release (February 2021), this parameter no longer supports specifying Project Spaces. You can only use this API parameter to specify Project folders.


N/A"/myotherorg/clientprojects/sales"
asset_typesA list of the asset types to be included in the Project for migration. N/A["File", "Job", "Account", "Pipeline"]
async_modeIf true, then the request is returned immediately with message to wait for motd notification.true"false"
duplicate_check

If true, then the request raises a conflict error if the Project with the same name exists in the specified destination path.

true"false"
content-type

Binary header specifying the content type. Since all SnapLogic assets are JSON files, this parameter's value must always be application/json.

Note

Use this parameter only in the HTTP header section of the API call.


application/json"application/json"

Sample Request

Paste code macro
titleExample
{
"dest_path":"/<org_name>/<project_space>/<project_name>",
"asset_types":["File","Job","Account","Pipeline"],
"async_mode":"true",
"duplicate_check":"false"
}

When the async_mode parameter is set to true, the request returns immediately with status_token and status_url

Sample Response

Paste code macro
titleExample
{
"response_map": {"status_token": "xxxxxxxxxxxxxx", "status_url": "https://<pod_name>/api/1/rest/public/project/migrate/<status_token>"} , 
"http_status_code": 200
}

...

Paste code macro
{
"_id" : "a8f70684-f422-42ed-83d1-78fa3aa1759a",
"status" : "Completed",
"user_id" : "inttest@snaplogic.com",
"src_path" : "exportorg/projects/acct",
"create_time" : ISODate("2017-03-21T18:37:46.249Z"),
"dest_path" : "/importorg/projects/acct",
"asset_types" : [
"File",
"Job",
"Account",
"Pipeline"
],
"successful" : [
{ "snode_id" : "58d172f773fe032daac6350c", "name" : "rest_account" }
,
{ "snode_id" : "58d172fa73fe032daac63510", "name" : "import_pipe" }
],
"failed" : [ ],
"warnings" : [ ]
}

Project Migration Guidelines

  • The first migration to the destination Org creates a new Project if there is not a no conflict. The However, the existing Project is overwritten if there is a conflict. Exclude accounts and Tasks during subsequent migrations other than the first one, when migrating using SnapLogic Manager
  • Do not migrate accounts and Tasks using the public API. When you include previously migrated accounts and Tasks in subsequent migrations, the API overwrites any changes that you may have manually made to the assets after the initial migration. 
  • Update all account references in Pipelines if the account's name is changed after the migration. 
  • Every time you migrate a Project, SnapLogic retains existing associations between Pipelines and Tasks if the associated Tasks are included in the migration.