Skip to content

cwittenberg/leanix

Repository files navigation

leanix

Collection of custom integrations I made with LeanIX. Code execution is scheduled using Azure Automation, see azure-automation-jobs folder for the procedural logic invoking any of the modules here.

Facade to simplify Python use with LeanIX

Advanced Python library for integration with LeanIX, because as an architect you demand flexibility. This module serves as base for integrations provided below. See leanix/leanix.py

Purpose:

  • Easy interoperability between Python and the LeanIX graphQL API - without having to code lots of GraphQL yourself.

Features:

  • Create/update/archive factsheets
  • Adding tags
  • Create contracts (if you have the Contract customization enabled)
  • Facilitates re-authentication/retry when needed
  • Search in factsheets
  • Creating relations between factsheets, dynamically
  • Management of Resources to factsheets
  • Create metrics/schema's
  • Get SaaS discovery intelligence (i.e. for Zscaler integration)

Generate IT Components based on Azure

Purpose:

  • Why integrate with ServiceNow or other CMDBs if you can generate parts of your metamodel based on what is instantiated/consumed on Azure?

Features:

  • Integration with Azure Graph
  • Integration with Azure Cost Management API
  • Generates IT Component structure based on Resource Groups

TODO:

  • Integration with GPT4o to auto-generate Modules to a given application

Celonis Process Modeler integration

See: celonis/celonis.py and the following Python Runbooks: leanix-celonis-integration.py and leanix-celonis-bpmn-integration.py

Purpose:

  • Loads all BPMN Processes from Celonis (formerly known as Symbio) into LeanIX for mapping.
  • Link your Applications to your Processes, including BPMN diagrams - in the same way how SAP does this with Signavio integration - but then for Celonis/Symbio!
  • Communicate to your Process Owners how IT is realizing their Processes.

How it works:

  • Based on Celonis/Symbio v2 API loads process structure in memory
  • Runs through this and copies each logical process as Business Context (process category) into LeanIX
  • Adds BPMN diagram itself (as PNG and SVG) as Resource to each Process, including hyperlinks to Symbio.
  • You can create a custom portal showing the BPMN diagrams.

image image

Coupa integration

Purpose:

  • Load contracts from Coupa into LeanIX such that Architects/those responsible can receive notifications about when an opportunity arises to make a (commercial) transition in view of roadmap

How it works:

  • Facilitates initial load, since standard Coupa API does not filter on custom-fields that contain granular commodity codes (as is common practice), approach taken is to pull all POs from a granular IT category
  • Based on Suppliers found from all POs in the granular commodity category, all contracts are pulled pertaining to each supplier
  • Sanitized Contracts are uploaded to LeanIX via GraphQL

Features:

  • Rudimentary auto-detection for existing Applications and Providers in LeanIX metamodel during load
  • Auto-detection of Amendment vs Contract factsheet sub-types
  • Facilitates currency conversion for contracts in non-group currency (i.e. EUR)
  • Downloads contracts zipfile from Coupa, unzips and uploads PDF as Resource to Contract
  • Also does some hard-coded tenant-specific matching of i.e. hardware/telephony/statements of work and licenses (later is relevant)

Scheduling:

  • Can be scheduled in Azure Automation, make sure to add required packages as wheel (.whl)
  • Dependencies for runbook: gql, requests_toolbelt, tenacity

TODO:

  • Update IT Components with Cost from contracts

Used resources:

image

Akamai integration

Purpose:

  • Lifecycle your websites, just like you would applications.

How it works:

  • Integrates with Akamai Report API v2 to pull all websites
  • Loads Metrics (hits and CDN effectiveness %) into LeanIX

Features:

  • Grouping by Akamai CP code
  • Show # hits, bandwidth and CDN offload % as a timeseries for decision making

Generated factsheets (note also past 90 day summary on main factsheet, for easy sorting in Inventory) image

Metrics tab: image

Zscaler usage metrics by app

See leanix/leanix.py (discovery methods) and leanix-load-zscaler-metrics.py

Purpose

  • To lifecycle your apps, you need to know the architect's vision, cost and usage. The latter is difficult to track, but no longer with this!
  • Knowing how many users your apps utilize over time is a great way to support architecture decision making.

How it works:

  • Utilize internal Zscaler discovery API to plot usage Metrics by application

image

Events

Purpose:

  • Send adaptivecard in Teams to update your team of a change made within LeanIX

Features:

  • User/avatar retrieval from within LeanIX

  • No need to use LeanIX dedicated Teams app

    image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages