Migrate Selected Objects between Projects

Sometimes, you may need to migrate selected objects from one project to another. For example, you may need to migrate dashboards or other metadata from your development project into one or more production projects.

Alternatively, you can clone a whole project. For more information, see Clone a Project.

Contents:

What You Can Migrate Between Projects

You can migrate the following objects between projects:

  • Metrics, attributes, facts
  • Reports
  • Dashboards

If you migrate a report or dashboard that contains computed attributes, the migration will fail with the following error:

Can't find %s with identifier %s

To migrate an object with computed attributes, see Use Computed Attributes.

Prerequisites

Before you start, make sure that the following prerequisites are met:

  • You are a project administrator in both projects.
  • You use the same account to access the projects.
  • The projects have the same logical data model.

Migrate Objects between Projects

To migrate objects between projects, complete the following steps:

  1. Acquire the project IDs.
  2. Acquire the object URI.
  3. Choose the migration method:

Acquire the Project IDs

Find the ID of the both source and target projects (see Find the Project ID).

Acquire the Object URI

In the source project, acquire the URI of the object that you want to migrate.

You can find the object URI via the GoodData Portal or via the gray pages.

Find the Object URI via the GoodData Portal

The following procedures assume that you access your projects at https://secure.gooddata.com/.

If you are a white-labeled customer, replace secure.gooddata.com with your white-labeled domain in the procedure steps when needed.

Steps:

  1. Log in to the source project in the GoodData Portal at https://secure.gooddata.com/.
  2. Navigate to the object that you want to migrate.
  3. Check the URL in the browser address bar. For example, the URL for a report would look similar to the following:

    https://secure.gooddata.com/#s=/gdc/projects/e863ii0azrnng2zt4fuu81ifgqtyeoj21|analysisPage|head|/gdc/md/e863ii0azrnng2zt4fuu81ifgqtyeoj21/obj/2579

    The object URI is the string that follows the analysisPage|head| segment. In this case, the object URI is /gdc/md/e863ii0azrnng2zt4fuu81ifgqtyeoj21/obj/2579.

Find the Object URI via the Gray Pages

Steps:

  1. In the source project, go to the gray page for reviewing metadata resources:

    https://secure.gooddata.com/gdc/md/{source_project_id}/query

    The metadata resource page opens.

  2. Navigate the object hierarchy to locate and select the object by its title.
  3. On the object detail page, locate the keyword URI.
    The value of this keyword is the object URI.
    Example: /gdc/md/e863ii0azrnng2zt4fuu81ifgqtyeoj21/obj/2579

Migrate Objects via Gray Pages

This procedure alternates between two projects: source and target. It may be helpful to use a text editor for staging the code that you copy and paste.

This procedure assumes that you access your projects at https://secure.gooddata.com/.

If you are a white-labeled customer, replace secure.gooddata.com with your white-labeled domain in the procedure steps when needed.

Steps:

  1. In the source project, go to the gray page for project maintenance actions:

    https://secure.gooddata.com/gdc/md/{source_project_id}/maintenance

    The project maintenance page opens.

  2. Click partial-md-export.
    The partial export page opens.
  3. Depending on your requirements, select some or all export options to apply during the export.
  4. In the text box, enter the URI of the object to migrate.
  5. Click submit.
    The export process starts.
    When the export is generated, the response similar to the following is displayed:
  6. Copy the value of the token keyword and save it for later. You are going to use it when importing the generated partial export to the target project.
  7. In the target project, go to the gray page for project maintenance actions:

    https://secure.gooddata.com/gdc/md/{target_project_id}/maintenance

    The project maintenance page opens.

  8. Click partial-md-import.
    The partial import page opens.

  9. In the Import token field, paste or enter the value of the token that was generated during the export.

  10. Make sure that the checkbox for overwriting newer objects in the project is selected.

  11. Depending on your requirements, select other options to apply during the import.

    If the imported object forces changes into the logical data model, you can choose to overwrite the logical data model. However, making changes to the logical data model may have cascading effects throughout the project, including the unexpected deletion of project data. We do not recommend that you select this option unless you have thoroughly tested the impacts of this overwrite first.

  12. Click submit.
    The import process starts. Depending on the size of the imported object, this process may take a while.
    When the import completes, the OK status of the import task is returned.The object has been imported.
  13. Log in to the target project, and verify that the migrated object is available there.

Migrate Objects via API

This method is typically used for migrating an object from a single source project to multiple target projects.

Steps:

  1. Perform partial export from the source project. See API: Export part of a project.
  2. Perform partial import into the target project. See API: Import part of a project.
  3. Log in to the target project, and verify that the migrated object is available there.