If you have set up an integration between a RapidValue solution and an Azure DevOps project, you can synchronize the data between these two. With this integration you can synchronize RapidValue entities with DevOps work items in both directions. The data is synchronized based on the DevOps mapping setup.
You can synchronize:
- Solutions
- Business processes
- Requirements
Work item structure in DevOps
You can define the resulting work item structure in DevOps using:
- The business process hierarchy
The parent-child relations in the business process hierarchy define the parent-child relations of the work items in DevOps.
In the DevOps mapping, link work item types to business process types. - Work package groups and work packages
The work package group and work package, as defined for business processes, define the structure in DevOps. As RapidValue is business-process oriented, beneath the work packages, the requirements are grouped by business process.
In the DevOps mapping, enter a line for these RapidValue tables and link these to work item types: - Work package group
- Work package
- Business process (select the Parent work package check box)
- Requirement
- A default parent
All synchronized RapidValue entities, for which a default parent is defined, result in a work item that is a child of the default parent. Typically, this is used to synchronize requirements only.
In the DevOps mapping, define a work item as default parent for a RapidValue entity.
Definitions:
- Parent business process:
- Of a business process: The business process that is the parent of a business process in the business process hierarchy.
- Of a requirement: The requirement relation of type Business processes for which the Parent in DevOps check box is selected.
- Parent requirement: The requirement relation of type Requirements for which the Parent in DevOps check box is selected.
- Work package group: Used to combine work packages in one work item in DevOps. In the DevOps mapping, typically, you map a work package group to an epic.
- Work package: Used to combine business process requirements in one work item in DevOps. In the DevOps mapping, typically, you map a work package to a feature.
General synchronization characteristics:
- Synchronization is always started in RapidValue.
- The first time you synchronize a RapidValue entity, the related work item is created in the DevOps project. Also, the mapping between the RapidValue entity and the related work item is created.
- If you synchronize an already mapped RapidValue entity, according to the DevOps mapping setup, the data is updated in both directions. For each entity, the synchronization sequence is:
- The fields with direction 'In' are synchronized. So, first the values are updated from DevOps to RapidValue.
- The fields with direction 'Out' are synchronized. So, secondly the values are updated from RapidValue to DevOps.
- On synchronize, three values play a role: DevOps value, RapidValue value, and the latest logged New value for the entity. If the direction is:
- 'In' and the DevOps value differs from the latest logged New value, the RapidValue value is updated with the DevOps value and this change is logged in the work item history. If the original RapidValue value also differs from the latest logged New value, the logged change is marked as a 'Conflict'.
- 'Out' and the RapidValue value differs from the latest logged value, the DevOps value is updated with the RapidValue value and this change is logged in the work item history. If the original DevOps value also differs from the latest logged New value, the logged change is marked as a 'Conflict'.
Synchronize solution
If you synchronize a solution, this is synchronized:
- All business processes in the business process hierarchy. If a business process is not mapped to a work item, a work item is created and mapped to the business process. Only the business processes are mapped that meet the relevant mapping conditions.
Note: If you use work packages, the work item that is mapped to a business process gets the work package work item as the parent. And the work package work item gets the work package group work item as parent. If the work package group or work package is not mapped to a work item, a work item is created and mapped to the work package group or work package.
- All requirements that are assigned to the synchronized business processes. Also, the child requirements of these requirements are synchronized. If a requirement is not mapped to a work item, a work item is created and mapped to the requirement.
- All requirements of the solution that are not assigned to a business process. Also, the child requirements of these requirements are synchronized. If a requirement is not mapped to a work item, a work item is created and mapped to the requirement. Note: If you use solution requirements, you are advised to define the Default parent in the related DevOps mapping setup. Otherwise no DevOps work item is available to which the created work item can be linked.
Synchronize business processes
If you synchronize a selected business process, this is done:
- The selected business process is synchronized. If the business process is not mapped to a work item, a work item is created and mapped to the business process.
- Its parent business processes, all the way up to the top node in the business process hierarchy, are checked. If a parent business process is not mapped to a work item, a work item is created and mapped to the parent business process. Already mapped parent business processes are not synchronized.
Note: If you use work packages, the mapped work item gets the work package work item as the parent. And the work package work item gets the work package group work item as parent. If the work package group or work package is not mapped to a work item, a work item is created and mapped to the work package group or work package.
- All its child business processes are synchronized, all the way to the lowest nodes in the underlying business process hierarchy.
Note: If you use work packages, also for the child business processes, the mapped work item gets the work package work item as the parent. And the work package work item gets the work package group work item as parent.
- The requirements that are assigned to the synchronized business processes are synchronized. Also, the child requirements of these requirements are synchronized. If a requirement is not mapped to a work item, a work item is created and mapped to the requirement.
Note: Only the business processes are mapped that meet the relevant mapping conditions.
Synchronize requirements
If you synchronize a requirement that does:
- Not have a business process or requirement as Parent in DevOps, only the selected requirement is synchronized. In this case you are advised to define the Default parent in the related DevOps mapping setup. Otherwise no DevOps work item is available to which the created work item can be linked.
- Have a business process as Parent in DevOps, its parent business processes, all the way up to the top node in the business process hierarchy, are checked. If a parent business process is not mapped to a work item, a work item is created and mapped to the parent business process. Already mapped parent business processes are not synchronized.
Note: If you use work packages, the work item that is mapped to the parent business process gets the work package work item as the parent. And the work package work item gets the work package group work item as the parent. If the work package group or work package is not mapped to a work item, a work item is created and mapped to the work package group or work package.
- Have a requirement as parent in DevOps, its parent requirement is checked. If a parent requirement is not mapped to a work item, a work item is created and mapped to the parent requirement. Already mapped parent requirements are not synchronized.
If a parent requirement has a parent business process, its parent business processes, all the way up to the top node in the business process hierarchy, are checked. If a parent business process is not mapped to a work item, a work item is created and mapped to the parent business process. Already mapped parent business processes are not synchronized.
Note: If you use work packages, the work item that is mapped to the parent business process gets the work package work item as the parent. And the work package work item gets the work package group work item as the parent. If the work package group or work package is not mapped to a work item, a work item is created and mapped to the work package group or work package.
Data ownership
- In the RapidValue-DevOps integration, besides the 'Out' values, RapidValue owns the relations between the RapidValue entities. Therefore, the relations between the RapidValue entities are synchronized only from RapidValue to DevOps. For example, a business process is the parent of a requirement. On synchronize, in DevOps, the work item for this business process is also the parent of the work item for the requirement.
If you move (cut/paste) a mapped business process to another parent, the mapping to the related work item is undone. When you again synchronize, a new work item is created for the business process. Note that the original work item also stays in the DevOps project. If you do not want a new work item created, you can manually map the business process again to the original work item. - In the RapidValue-DevOps integration, DevOps owns the 'In' values of the mapping. For each RapidValue entity that is synchronized with a DevOps work item, these 'In' values are updated from the related work item, based on the DevOps mapping setup. If several requirement-related work items are linked to the same work item, the update is done to each of the linked entities.
Export and import of DevOps integration
If you export a solution, business process, or requirement, the related DevOps mapping and work item mapping are exported as well. If you import this in another environment, the full DevOps integration becomes available in this environment. Including the mapping with the existing work items in DevOps.
Each synchronized work item in DevOps has a hyperlink to the related business process or requirement in RapidValue. If you have imported a DevOps integration in another environment, these hyperlinks in DevOps still refer to the old environment. To replace these hyperlinks in DevOps with hyperlinks to the business process and requirements in the new environment, synchronize in the new environment.