Cloning guidelines for DevOps Change Velocity
-
- UpdatedJan 30, 2025
- 7 minutes to read
- Yokohama
- DevOps
Clone the DevOps Change Velocity application from one instance to another.
Base system table exclusion and preservers on global tables used in DevOps
Table name | Exclude table entry present? | Data preservers entry present? |
---|---|---|
For DevOps tool | ||
sys_alias | No | No |
http_connection | Yes | Yes |
discovery_credentials | Yes | Yes |
oauth_entity_profile | Yes | Yes |
oauth_entity | Yes | Yes |
jwt_provider | Yes | Yes |
jwt_keystore_aliases | Yes | Yes |
sys_certificate | Yes | Yes |
token_verification | Yes | Yes |
sys_user_group | No | No |
For DevOps apps | ||
cmdb_ci_business_app | No | No |
cmdb_ci_sdlc_component | No | No |
cmdb_application_product_model | No | No |
Tools cloned from source instance
- The tools that are cloned from source instance will have a Connection alias (sys_alias) associated with them.
- The Connection record and the Credential record aren’t cloned over from the source instance since those tables are excluded.
- Tool URL will be empty because the tool URL is dynamically calculated using connection record.
- Connect test fails because there’s no active connection.
- All the underlying entities like projects, plans, pipelines, repositories, work items, commits, pipeline execution, and so on must be present under the tool.
- The tool's token isn’t cloned.
- New webhook inbound events won’t automatically start to come to the cloned target instance for these tools. The tools must be reconfigured to receive new inbound events.
Manual steps on cloned tools
- Create Connection and Credential
- Use the Create New Connection & Credential action present under the related links on the tool record or manually create the connection (http_connection) and credential (discovery_credentials) record and associate with the tool's connection alias.
- Manually run the Connect action on the tool and make sure that the tool connection state is Connected.
- Regenerate token and configure
- For the tools that support token-based webhook configuration, use the Regenerate token action from the Related Links on the tool record page.
- Regenerating the token creates a new token in the token_verification table and creates webhooks for the tool and repos that have Configure status as Configured.
- For the tools that don't support token-based webhooks, click Configure and enter the user name and password for the DevOps integration user.
Apps cloned from source instance
- Apps that are cloned from the source instance will have all the app associations intact.
- Business app and SDLC component links are maintained.
- Manual steps aren't required after cloning.
Preserving data on target instance
Aim to preserve the existing tools, tool connections, and apps on the target instance.
Level 1 data preservers
Title | Table name | Purpose | Suggested filter |
---|---|---|---|
DevOps tool | sn_devops_tool | To preserve top-level DevOps tool list. | connection_state=connected^EQ to preserve all connected tools or filter on specific tool IDs. |
Connection & Credential Aliases | sys_alias | Specified in DevOps tool to hold connection details. | idLIKEdevops^ORidLIKEspoke^EQ to preserve all aliases related to DevOps. |
DevOps app | sn_devops_app | To preserve top-level DevOps App list. |
Manual steps on preserved tools after cloning
- Maintained by
If the tool on the target instance had any Maintained by user groups specified before cloning, update the user groups, and set them on the tool record manually after cloning.
- Discover
- Projects, pipelines, plans, and repositories aren't present for preserved tools after the clone.
- For Azure DevOps tools, first perform Discover projects.
- Perform Discover action on the tool or the project to bring the pipelines, plans, and repositories details.
- Track
Track the required pipelines, plans, and repositories.
- Configure
- Optional for tools where the webhook url holds a reference to tool sys_id only. For example, GitHub, GitLab, Jira, Bitbucket.
- You must reconfigure Azure DevOps projects because the project sys_id has changed after rediscover.
- Token remains the same for the tool.
- Verify that there are no duplicate webhooks created in the third-party DevOps tool after reconfiguring.
- Historical import
Use the import action or workspace to import historical data for plans, repositories, and pipelines.
Manual steps on preserved apps after cloning
- Maintained by
If the app on the target instance had any Maintained by user groups specified before cloning, update the user groups, and set them on the app record manually after cloning.
- Associate with app
Manually reassociate plans, repositories, and pipelines with the app.
- Relink to SDLC component and application model
Manually associate the DevOps app to the SDLC component, and SDLC component to the application model.
Level 2 data preservers
Aim to preserve the data and relations under DevOps tools and DevOps apps. These preservers should be used along with the level1 preservers and manual steps.
Title | Table name | Purpose | Suggested filter |
---|---|---|---|
Plugin: DevOps Data Model | |||
Artifact Repository | sn_devops_artifact_repository | Top-level list of artifact repositories. Required to keep artifact repos that are associated with a preserved tool. | tool=toolid^EQ, where toolid is the tool being preserved. |
Artifact | sn_devops_artifact | Top-level list of artifacts. Required to keep artifacts that are associated with a preserved tool. | artifact_repository.tool=toolid^EQ, where "toolid" is the tool being preserved. |
Pipeline | sn_devops_pipeline | Top-level list of pipelines. Required to keep pipelines that are associated with a preserved tool. | tool=toolid^EQ, where toolid is the tool being preserved. |
Release Version | sn_devops_plan_version | Top-level list of release versions. Required to keep release versions that are associated with a preserved planning tool. | plan.tool=toolid^EQ, where toolid is the tool being preserved. |
Plan | sn_devops_plan | Top-level list of plans. Required to keep plans that are associated with a preserved planning tool. | tool=toolid^EQ, where toolid is the tool being preserved. |
Project | sn_devops_project | Top-level list of projects. Required to keep projects that are associated with a preserved tool. Currently supported by Azure DevOps. | tool=toolid^EQ, where toolid is the tool being preserved. |
Repository | sn_devops_repository | Top-level list of repositories. Required to keep repositories that are associated with a preserved coding tool. | tool=toolid^EQ, where toolid is the tool being preserved. |
App to Artifact Repository | sn_devops_m2m_app_artifact_repository | App/Artifact Repo associations. Required to keep the relationship between preserved apps and artifact repositories. | app=appid^EQ, where appid is the app being preserved. |
App to Artifact | sn_devops_m2m_app_artifact | App/Artifact associations. Required to keep the relationship between preserved apps and artifacts. | app=appid^EQ, where appid is the app being preserved. |
App to Plan | sn_devops_m2m_app_plan | App/Plan associations. Required to keep the relationship between preserved apps and plans. | app=appid^EQ, where appid is the app being preserved. |
Plugin: DevOps Vulnerability Integrations | |||
DevOps Security Orchestration Relation | sn_devops_security_orchestration_relation | Required to keep the relation between DevOps entitiy (for example, pipeline) and a security tool. | reference_table=sn_devops_pipeline |
Custom integration data preservers
Aim to preserve the meta-data related to any custom tool integrations on the target instance. These data preservers can be used with both level1 and level2 preservers.
Title | Table name | Purpose | Suggested filter |
---|---|---|---|
Plugin: DevOps Data Model | |||
Custom tool Integration Capability | sn_devops_integration_capability | Required to keep the supported actions to integration capability mapping records of custom tool integration. | tool_integration=customToolIntegrationId^EQ , where customToolIntegrationId is the sys_id of the custom tool integration. |
Custom tool Integration Capability Mapping | sn_devops_tool_capability_mapping | Required to keep the integration capability mapping records of custom tool integration. | tool_integration=customToolIntegrationId^EQ , where customToolIntegrationId is the sys_id of the custom tool integration. |
Custom DevOps Tool Integration | sn_devops_tool_integration | Required to keep the tool integration record of custom tool integration. | sys_id=customToolIntegrationId^EQ, where customToolIntegrationId is the sys_id of the custom tool integration. |
Custom Tool permissions | sn_devops_tool_permission | Required to keep the permission check records of custom tool integration. | tool_integration=customToolIntegrationId^EQ , where customToolIntegrationId is the sys_id of the custom tool integration. |
Plugin: DevOps Workspace | |||
Custom tool Onboarding task type | sn_devops_ws_onboarding_task_type | Required to keep the onboarding task types of custom tool integration. | tool_integration=customToolIntegrationId^EQ, where customToolIntegrationId is the sys_id of the custom tool integration. |
Level 3 data preservers
On this page
- Base system table exclusion and preservers on global tables used in DevOps
- Tools cloned from source instance
- Apps cloned from source instance
- Preserving data on target instance
- Level 1 data preservers
- Manual steps on preserved tools after cloning
- Manual steps on preserved apps after cloning
- Level 2 data preservers
- Custom integration data preservers
- Level 3 data preservers