This article describes how the configuration import/export process will apply to the various objects in the system that can be migrated.
Migration Objects
Within the configuration migration system, each configurable item from the source environment is exported as a "migration object", which is then matched, created or updated in the destination environment. Each migration object has its own rules for how it is added to the destination environment.
A migration object can be something complex that has other objects as subcomponents. For example, a Form can have child components of specific custom attribute definitions.
When a migration object includes a relationship between two different things (such as a Ticket Type's associated Groups), the relationships are not "merged" but rather are added/deleted in the target environment so that they match what was configured in the source environment. For example, if exported data has a Ticket Type that has one associated Group, and the same Ticket Type in the target database has associations with multiple Groups, the configuration migration will delete the relationships in the target database so it matches the desired state in the exported data.
It’s important to note that deleting “relationships” is the only case where the configuration migration will delete database records in the target database.
Migration Rules
Each migration object will be added to the new environment using one of the following rules:
Match Only
Match a source object to an existing target object only. Never add a new target object or update an existing target object. This is used for items like user records, which have their own way of being created and are expected to be the same or similar between the source and target environments.
- Match a source object to an existing target object based on ID (plus Advanced Matching Rules if applicable).
- If an existing target object is found, use it for all references.
- If an existing target object is not found, then:
- If all reference to this object are marked with an “Allow Blank If No Match” rule, then remove all references and do not migrate this object.
- If not, Error – the import cannot be run.
Match And Add
Match a source object to an existing target object. Add a new target object if no match is found. Never update an existing target object.
- Match a source object to an existing target object based on ID (plus Advanced Matching Rules if applicable).
- If an existing target object is found, use it for all references.
- If the existing target object is different than the source object, then add a “Warning” to the execution plan but do not update.
- If an existing target object is not found, then add a new target object using the source object data.
Match And Merge
Match a source object to an existing target object. Add a new target object if no match is found. Update update an existing target object if different than the source object
- Match a source object to an existing target object based on ID (plus Advanced Matching Rules if applicable).
- If an existing target object is found, use it for all references.
- If the existing target object is different than the source object, then update the target object using the source object data.
- If an existing target object is not found, then add a new target object using the source object data.
In this case, if the IDs match but the created date indicates the object was created in the source environment after that environment had been copied from the destination environment, it will be treated as a non-match. This would indicate that by coincidence the IDs in two separate environments match but they probably don't represent the same record.
Allow Blank If No Match
The “Allow Blank If No Match” rule can be applied to migration objects when no match can be found, and the migration rules don't allow creating a new record. This allows the import to remove the references to the object if it’s unable to find a match in the target database.
This is used in the following cases:
- Workflow: Group, User and Variable Assignment (e.g. Service person-type custom attribute) references
- Workflow: Condition Step Filter and Argument references
- Ticket/Project Form: Default Value references
- Service: Maintenance Window references
Object Rules
The following describes the rules applied to each high-level Object.
Object |
Migration Strategy |
Advanced Matching |
Acct/Dept |
Match Only |
No |
Article |
Match Only |
No |
Asset/CI |
Match Only |
Yes: BEID, AppID, External ID, Service Tag (Asset only) |
Asset Status |
Match Only |
No |
Custom Attribute |
Match And Merge |
No |
Custom Attribute Choice |
Match And Merge |
No |
Custom Attribute Section |
Match And Merge |
No |
Custom Attribute Dependency |
Match And Merge |
No |
Custom Attribute Value |
Match And Merge |
Yes: Attribute ID, Component ID, Item ID |
Expense Account |
Match And Merge |
No |
Form |
Match And Merge |
No |
Group |
Match Only |
Yes: BEID, Name |
Location |
Match Only |
Yes: BEID, External ID, Name |
Location Room |
Match Only |
Yes: Parent Location, External ID, Name |
Urgency, Impact, and Priority |
Match And Merge |
No |
Product Type |
Match Only |
No |
Product Model |
Match Only |
No |
Project Classification |
Match And Merge |
No |
Project Type |
Match And Merge |
No |
Project Section |
Match Only |
Yes: BEID, Name |
Recurring Schedule |
Match Only |
No |
SLA/SLA Escalation |
Match And Merge |
No |
Service Category |
Match And Merge |
No |
Service/Service Offering |
Match And Merge |
No |
Standard Attribute |
Match Only |
Yes: Name |
Tag |
Match And Merge |
Yes: BEID, Name |
Ticket Approval Workflow |
Match And Merge |
No |
Ticket Classification |
Match Only |
Yes: BEID, AppID, Component ID (aka “System Type”) |
Ticket Source |
Match And Merge |
No |
Ticket Status |
Match And Add |
Yes: BEID, AppID, Name, StatusType |
Ticket Task Template |
Match Only |
No |
Ticket Type |
Match And Merge |
No |
Time Type |
Match And Merge |
No |
Type Category |
Match And Merge |
No |
User |
Match Only |
Yes: BEID, Name, AuthProvider, ExternalID, PrimaryEmail |
Web Service Account |
Match And Merge |
No |
Web Service Method
Note: Web Service Methods will be partly migrated as the configuration details are encrypted and cannot be exported. |
Match And Merge
|
No |
Web Service Provider |
Match And Merge |
No |
Workflow Stage |
Match And Merge |
No |
Workspace |
Match Only |
Yes: BEID Name |