Skip to main content

Software Catalog

All your software components, in one place.

Updated over 2 weeks ago

The Software catalog is a central location for all your software components with a flexible modeling system, robust filtering, clear ownership, and automations.

Visit our API docs to learn how to programmatically manage your catalog.

Notice - Some features of the Software catalog are available only to Service Cloud customers —

  1. Custom Entity Types

  2. Properties

  3. Relations


Entities

An entity is the foundation of your software catalog. An entity can have aliases to 3rd party systems, be assigned ownership, modeled with custom properties, linked with relations, and grouped into a domain hierarchy.


Entity Types

By default you will have service, domain and team entity types. Different entity types can have separate aliases, properties, and relations.

Identifiers

DX uses unique identifiers on parts of the software catalog to give a stable reference to the item in external systems. Entities, Entity Types, Properties, and Relations each have an identifier that is unique across your entire account. These identifiers allow easy API access, enable automations, and provide stable references for you to use in external systems.

Aliases

An alias is a reference to another entity in a system outside of DX. These aliases let us create rich integrations per-provider. For example, our PagerDuty alias lets us provide DORA metrics per service in your reports.

Here is a list of the currently supported aliases

System

Database table

ADO repositories

ado_repositories

Bitbucket Server repositories

bitbucket_server_repositories

Bitbucket repositories

bitbucket_repositories

Bugsnag projects

bugsnag_projects

Datadog Monitors

datadog_monitors

Datadog SLOs

datadog_slo_tags

Datadog services

datadog_services

DX Deployments

deployment_services

Dynatrace entities

dynatrace_entities

Dynatrace SLO's

dynatrace_slos

Firehydrant services

firehydrant_services

Github repositories

github_repositories

Gitlab repositories

gitlab_projects

Incident.io services

incident_io_services

Jira service management services

jsm_services

Launchdarkly projects

launchdarkly_projects

Opsgenie services

opsgenie_services

Pagerduty services

pagerduty_services

Rollbar projects

rollbar_projects

Rootly services

rootly_services

Sentry projects

sentry_projects

ServiceNow services

servicenow_services

Snyk projects

snyk_projects

SonarCloud projects

sonarcloud_projects

SonarQube projects

sonarqube_projects

New Relic entities

newrelic_entities

Domains

A domain is a grouping of services, and domains can relate to each other in a hierarchy. This enables accurate organization modeling and rich reporting for Scorecards.

Properties

A property is a flexible field with a strong data type. Properties are defined per-entity-type. With properties you can have rich filtering of your catalog. They let you categorize your entities and provide critical metadata in a flexible way.

Relations

A relation defines a link between one or more entities. Some use-cases are —

  1. Dependent microservices

  2. Internal library usage across services

  3. Databases and other infrastructure attached to services.

Automations

Deployments

Whenever you create a deployment in DX—either via API or deploy rules—DX automatically does two things:

  1. Create a Service in the software catalog

  2. If the Service does not have an explicitly assigned Owner team, DX attempts to assign a default based on recent pull request authors for the related Git repo.

DX will continue to attempt to auto-assign Service owners based on latest deployment data, until one of the following occurs:

  • The auto-assignment suggestion is "accepted" in the UI

  • Ownership is explicitly set via the DX UI or API

Alias detection

When you connect a 3rd party service such as pagerduty, datadog, or github; DX will continually monitor the possible aliases of those systems and automatically add them in your software catalog when the name or identifier matches exactly.

Did this answer your question?