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 Name | Description | Default Value | Example | ||
---|---|---|---|---|---|
dest_path | The path of the target destination.
| N/A | "/myotherorg/clientprojects/sales" | ||
asset_types | A list of the asset types to be included in the Project for migration. | N/A | ["File", "Job", "Account", "Pipeline"] | ||
async_mode | If 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.
| application/json | "application/json" |
Sample Request
Paste code macro | ||
---|---|---|
| ||
{ "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 | ||
---|---|---|
| ||
{ "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.