Component Diff object
You can use the Component Diff object to programmatically compare two different versions of Boomi Integration components, such as processes and maps. A comparative diff can provide:
- Insights for auditing and change management,
- Better understanding of changes across component versions, and
- Component version insights into external DevOps processes.
Structure
<ComponentDiffRequest componentId="" sourceVersion="" targetVersion="">
<!--Optional configuration settings-->
<CompDiffConfig componentType="">
<CompDiffElement name="" parent="">
<CompDiffAttribute name="" ignored="" idpart=""/>
</CompDiffElement>
</CompDiffConfig>
</ComponentDiffRequest>
| Field | Type | Description |
|---|---|---|
componentId | string | Required. The ID of the component for which you want to compare versions. |
sourceVersion | int | Required. The source version of the component. |
targetVersion | int | Required. The target version which you want to compare to the source version. |
You can include an optional configuration section to qualify the type of information that you want to see in the comparative diff:
| Field | Type | Description |
|---|---|---|
CompDiffConfig componentType | string | The type of component that you want to compare. |
CompDiffElement name | string | The tag name of the element that you want to target for the comparative diff results. |
CompDiffElement parent | string | The parent element for the element that you want to configure for the comparative diff results. |
CompDiffAttribute name | string | The name of the attribute for the element that you want to configure for the comparative diff results. |
CompDiffAttribute ignored | boolean | Whether the element described in the CompDiffElement section is excluded from the comparative diff results. |
CompDiffAttribute idpart | boolean | Whether the attribute is part of an identifying key for the element. |
Supported operations
| GET | QUERY | CREATE | UPDATE | EXECUTE | DELETE |
|---|---|---|---|---|---|
Using the GET operation
-
If you use Postman to make API calls, the GET response contains a diff visualization option to help understand the differences between component versions. For more information, refer to the Postman article Visualize request responses using Postman Visualizer.
noteThe Postman visualization feature currently supports only JSON responses.
SOAP implementation
-
GET operation
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username></wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"></wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:create>
<object xsi:type="api:ComponentDiffRequest" componentId="b208c228-7c5b-475c-84e8-3868c6563b2d" sourceVersion="6" targetVersion="7" xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</object>
</api:create>
</soapenv:Body>
</soapenv:Envelope>Response:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:createResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
<result xsi:type="bns:ComponentDiffResponse" message="Diffed Versions 6 and 7 of Component: Validate TPgroup (Type = tpgroup, ID = b208c228-7c5b-475c-84e8-3868c6563b2d)">
<bns:GenericDiff>
<bns:modification total="2">
<bns:change type="attribute" changedParticleName="processId">
<bns:newValue xpath="/Component[1]/object[1]/TradingPartnerGroup[1]/TradingPartnerRouting[1]/TradingPartnerRouteEntry[1]/@processId">7d1dc7a1-d7f0-471d-8042-e7a211bf551c</bns:newValue>
<bns:oldValue xpath="/Component[1]/object[1]/TradingPartnerGroup[1]/TradingPartnerRouting[1]/TradingPartnerRouteEntry[1]/@processId">f2306e24-1133-4d78-ac05-877f1e943a27</bns:oldValue>
</bns:change>
<bns:change type="attribute" changedParticleName="processName">
<bns:newValue xpath="/Component[1]/object[1]/TradingPartnerGroup[1]/TradingPartnerRouting[1]/TradingPartnerRouteEntry[1]/@processName">_LogData 2</bns:newValue>
<bns:oldValue xpath="/Component[1]/object[1]/TradingPartnerGroup[1]/TradingPartnerRouting[1]/TradingPartnerRouteEntry[1]/@processName">_DataTransformation 2</bns:oldValue>
</bns:change>
</bns:modification>
</bns:GenericDiff>
</result>
</bns:createResponse>
</S:Body>
</S:Envelope>
Was this topic helpful?