Relationships

Build a richer and more comprehensive Catalog with custom component relationships.

OpsLevel's Component Relationship feature enhances your software catalog by enabling more accurate modeling of connections between entities. This helps provide a comprehensive view of your software ecosystem, making it easier to understand and manage key information about your software.

Relationships can be defined between Component Types and other Component Types or Teams. By configuring these connections, users can seamlessly link to related catalog objects within component fields. This provides quick access to crucial information, facilitating better comprehension and quicker action.

Examples:

  • Services may have a Support Team in addition to their Owner.
  • You may have a number of different component types that higher-level components can depend on, like: Libraries, Pipelines, Features, and Configurations.
  • Adding Environment as a component type can now allow a richer relationship where components point to the Environments they're deployed on. This way, you will be able to more easily query components per environment.

Managing Relationship Definitions

Creating a relationship definition

To create a new Relationship Definition, navigate to Settings > Customization and select the Component Type you want to be the source of the relationship. On this page, select "New Relationship".

The "New Relationship" button on a component type's page.

The "New Relationship" button on a component type's page.

Now, populate the fields accordingly.

  • Display Name: The name of the relationship. This will appear as the field label on component pages.
  • Identifier: The unique identifier of this relationship. This will be used as an identifier when using the OpsLevel API and tooling.
  • Allowed Types: The Component Type identifiers this relationship can use as a target. e.g. for a "Support Team" relationship, we would likely only want to allow the "team" type.
  • Description: A description of the relationship.
The relationship definition create form.

The relationship definition create form.

Viewing Relationship Definitions

To view existing relationship definitions for a Component Type, navigate to Settings > Customization and select the Component Type you wish to view relationships for. Relationship definitions appear alongside other custom properties, with a Type of Relationship.

The "Custom Properties & Relationships" table, with a Relationship record

The "Custom Properties & Relationships" table, with a Relationship record.

Editing Relationship Definitions

From a Component Type's customization page, any existing relationship can be modified by clicking the hyperlinked Relationship name, or Actions > Edit. Only name and description can be updated. Modifying allowed types is not currently supported, as this may invalidate existing relationships.

The Relationships Definition edit form

The relationship definition edit form.

Relationship values on Components

The actual values assigned to relationship definitions on a component can be found alongside other component properties in the Component Overview (accessed from Catalog -> Components -> select the component).

A component overview with custom relationship definitions for "Libraries" and "Support Team"

A component overview with custom relationship definitions for "Libraries" and "Support Team".

You'll notice our example has two custom relationships, Support Team and Libraries.

For relationships with multiple associated items, the Relationships tab offers a fuller picture with table views. This can be accessed using the tab navigator along the top, or by selecting the relationship name on the component's Relationships Summary card.

A component's Relationships Summary card

A component's Relationships Summary card.

A component's Relationships table

A component's Relationships table.