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 —
Custom Entity Types
Properties
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
Here is a list of the currently supported aliases
System | Database table |
ADO repositories |
|
Bitbucket Server repositories |
|
Bitbucket repositories |
|
Bugsnag projects |
|
Datadog Monitors |
|
Datadog SLOs |
|
Datadog services |
|
DX Deployments |
|
Dynatrace entities |
|
Dynatrace SLO's |
|
Firehydrant services |
|
Github repositories |
|
Gitlab repositories |
|
Incident.io services |
|
Jira service management services |
|
Launchdarkly projects |
|
Opsgenie services |
|
Pagerduty services |
|
Rollbar projects |
|
Rootly services |
|
Sentry projects |
|
ServiceNow services |
|
Snyk projects |
|
SonarCloud projects |
|
SonarQube projects |
|
New Relic 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 —
Dependent microservices
Internal library usage across services
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:
Create a Service in the software catalog
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.