The ReplicationConfiguration parameter requires a string in JSON format that describes the replication process and its tasks that will be executed. The parameter section that describes the tasks is similar to the Replication Tasks step of the Business Manager Data Replication wizard. Replication tasks not included in the JSON are not included in the data replication process. Replication tasks set to 'false' are also not included in the data replication process. However, this only applies if the keyword 'all' is not used. The JSON syntax and replication tasks are validated when you add the step to the job. If something is wrong, a log message is written during runtime. The following is an example JSON-snippet for the ReplicationConfiguration parameter.
{
"data_replication_configuration" : {
"target" : "production",
"type" : "transfer_and_publish",
"description" : "Any data replication process description",
"cache_invalidation" : "clear_all",
"notification" : {
"type": "process_end",
"to": [
"john@example.com",
"jane@example.com"
]
},
"tasks" : {
"global" : {
"csc_settings" : true,
"csrf_whitelists" : true,
"catalogs" : {
"storefront" : true,
"master" : "exclude-static",
},
"custom_object_types" : true,
"custom_objects" : true,
"customer_lists" : true,
"geolocations" : true,
"global_sorting" : true,
"libraries" : {
"libDEMO" : true
},
"oauth_providers" : true,
"ocapi_settings" : true,
"page_meta_tags" : true,
"payments_config" : true,
"preferences" : {
"system_preferences" : true,
"custom_preferences" : true
},
"price_books": {
"usd-list-prices" : true,
"usd-sale-prices" : true
},
"sites" : {
"siteDEMO" : true
},
"static_content" : true,
"webdav_client_permissions" : true
},
"sites" : {
"siteDEMO" : {
"ab_tests" : true,
"ab_tests_and_experiences" : true,
"active_data_feeds" : true,
"cache_settings" : true,
"campaigns_and_promotions" : true,
"content_library" : true,
"content_slots" : true,
"coupons" : true,
"custom_objects" : true,
"customer_groups" : true,
"dynamic_content" : true,
"ocapi_settings" : true,
"payment" : true,
"preferences" : {
"system_preferences" : true,
"custom_preferences" : true
},
"search_indexes" : true,
"shipping_methods" : true,
"sorting" : true,
"source_codes" : true,
"storefront_urls" : {
"catalog_urls" : true,
"content_urls" : true,
"pipeline_urls" : true,
"redirects" : true
},
"stores" : true,
"taxation" : true
}
}
}
}
}
- data_replication_configuration: Highest level array.
- target: Target system, either 'production' or 'development'.
- type: Data replication type, either 'transfer_and_publish', 'transfer', 'publish' or 'undo'.
- description: Optional description of the data replication process.
- cache_invalidation:
- 'clear_impacted_partitions' - Clear caches based on impacted cache partitions.
- 'clear_all' - Clear caches.
- 'keep_all' - Keep caches.
- keep_caches: 'true' or 'false', to keep caches or not. Deprecated: Use 'cache_invalidation' property instead which has precedence. If neither 'cache_invalidation' nor 'keep_caches' is configured, caches will be cleared.
- notification:
- type: Notification type:
- 'process_end' - Notified when process ends.
- 'process_error' - Notified only if process does not succeed.
- 'periodically' - Notified periodically (see below for interval configuration - defaults to 10 minutes).
- to: List of recipients.
- interval: Optional configuration of the notification interval if type is 'periodically'.
- type: Notification type:
- tasks:
- global: Global data replication tasks. To process all tasks, use the keyword 'all', otherwise use these:
- csc_settings
- csrf_whitelists: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing terms in our code can break current implementations, we maintained this object name.
- catalogs: Catalogs. To process only certain catalogs, specify the catalog IDs. To process all catalogs, use the
keyword
'all'as catalog ID or usetrueat the catalogs level. To exclude static catalog content specify the catalog ID alongside with the value'exclude-static'. - custom_object_types
- custom_objects
- customer_lists
- geolocations
- global_sorting
- libraries: Libraries. To process only certain libraries, specify the library IDs. To process all libraries, use
the keyword
'all'as library ID or usetrueat the libraries level. - oauth_providers
- ocapi_settings
- page_meta_tags
- payments_config
- preferences: Preferences. To process all preferences, use the keyword
'all', respectively usetrueat the preferences level, otherwise use these:- system_preferences
- custom_preferences
- price_books: Price Books. To process only certain price books, specify the price book IDs. To process all price books, use
the keyword
'all'as price book ID or usetrueat the price_books level. - sites: Site definition, content library, and site preferences. You can process these for individual sites by
specifying their IDs, or for all sites using the keyword
'all'as site ID, respectively usetrueat the sites level. - static_content
- webdav_client_permissions
- sites: Site-specific data to process. You can process individual sites by specifying their IDs and replication
tasks. To process all tasks of a site, use the keyword
'all', otherwise use these:- ab_tests
- ab_tests_and_experience
- active_data_feeds
- cache_settings
- campaigns_and_promotions
- content_library
- content_slots
- coupons
- custom_objects
- customer_groups
- dynamic_content
- ocapi_settings
- payment
- preferences: Preferences. To process all preferences, use the keyword
'all', respectively usetrueat the preferences level, otherwise use these:- system_preferences
- custom_preferences
- search_indexes
- shipping_methods
- sorting
- source_codes
- storefront_urls: Storefront URLs. To process all storefront URLs, use the keyword
'all', respectively usetrueat the storefront_urls level, otherwise use these:- catalog_urls
- content_urls
- pipeline_urls
- redirects
- stores
- taxation
- global: Global data replication tasks. To process all tasks, use the keyword 'all', otherwise use these:
Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing terms in our code can break current implementations, we maintained this object's name.