Extending An Integration

Guide to extend integration to customize it to your organizational needs

Any out-of-box LeanIX integration provides users to implement custom Integration API processors to process the original LDIF generated by integration. This is powered by the Integration API capability called execution groups

The documentation discusses the following

  1. What are the possible use cases?
  2. How to enhance existing Integration Hub data source with execution group?
  3. How to examine generated LDIF by integration?
  4. How to implement custom Integration API processors to add additional logic to the default integrations to cater to your organizational specifics?

Inspirations (Discussed in example section)

  1. Extend CICD Integration to automatically populate MuleSoft Integration API ID.

  2. Extend OpenAPI Integration to automatically link to Providing Software Artifact FactSheet / Add resource pointing to the OpenAPI Spec documentation

Modify Integration Hub data source

Integration Hub data sources by default do not have the ability to execute custom processors. Make the following changes to add this ability.

Switch to the Advanced view in the Integration Hub tab. myGroup should be replaced by the unique execution group ID specific to each integration. This can be fetched from the integration guide.

{
  "name": "{example-integration-name}",
  "connectorConfiguration": {
    ...
  },
  "secretsConfiguration": {
    ...
  },
-  "bindingKey": {
-    "connectorType": "leanix-vsm-connector",
-    "connectorId": "{integration-connector-id}",
-    "connectorVersion": "1.0.0",
-    "processingDirection": "inbound",
-    "processingMode": "full",
-    "lxVersion": "1.0.0"
-  },
+  "executionGroup": "myGroup"
}

Examination of generated LDIF for extension

All integrations are powered by Integration API to inject the source data into the workspace. Integration API depends on source data in LDIF format. All integrations generate an LDIF and the LDIF can be referred to using the Test Run feature in Integration Hub UI.

📘

External execution integrations

External execution integrations like SonarQube integration are triggered as a self-start execution from the deployment location. Hence, Test Run is not available for such integrations. In these cases, the LDIF can be acquired from the logs or sync logs from previous Integration Hub executions.

Example `Test Run` output from MuleSoft integrationExample `Test Run` output from MuleSoft integration

Example Test Run output from MuleSoft integration

The data in the LDIF can be used to update aggregated fields, add subscriptions based on a specific value, etc. One such real-life example is discussed in the following "Example" section.

Create Integration API connector

A new Integration API connector should be created from the Integration API tab under admin UI. Make sure that Processing Direction is inbound and Processing Mode is full.

Example new Integration API connector creationExample new Integration API connector creation

Example new Integration API connector creation

Implementing Custom Integration API processors

Refer to inbound Integration API processors to implement processors that use the above generated LDIF. The execution group ID should match with the Integration Hub data source execution group ID.

{
    "processors": [
        {
            "processorType": "inboundFactSheet",
            "processorName": "example processor name",
            "processorDescription": "example description",
             ...
            "enabled": true
        }
    ],
    "variables": {},
+    "executionGroups": [
+        "myGroup"
+    ]
}


Did this page help you?