Ownership app
Latest Dynatrace
The Ownership app provides actions for building a workflow querying for an entity's ownership team and related contact information. With these actions, you can extract ownership data about an entity and integrate with other apps, for example, to send Slack notifications or Jira updates to entity owners based on different triggers.
Furthermore, the Ownership app enables you to import teams from the following sources using automation workflows:
- Groups from Microsoft Entra ID
- Groups from ServiceNow
- Any data source using JSON structure
See Capabilities for details.
Permissions
-
Ownership requires the following permissions.
environment-api:entities:read
—Read entities.settings:objects:read
—Read settings 2.0 objects.settings:schemas:read
—Read settings 2.0 schemas.
-
Additionally, you require the following primary permissions in Workflows (go to Workflows > Settings > Authorization Settings).
app-engine:apps:run
—Enables listing and running apps; provides basic access to the Launcher.app-engine:functions:run
—Enables use of the function executor.
Alternatively, you can set up users with the AppEngine user policy.
Capabilities
The core capabilities of Ownership in the latest Dynatrace are contained in prebuilt actions for Workflows . You can combine these actions with other tasks and actions to create workflows for team import, notifications, task assignment, and other use cases.
import_teams
This action allows importing Ownership teams into Dynatrace from different data sources. For all supported sources, we provide workflow templates that can be used as a reference.
-
Entra ID groups
The
import_teams
action takes the results of the prebuiltget_groups
action, which gets group data from Microsoft Entra ID, and stores the data as ownership teams within Dynatrace. In this way, you can use your Entra ID information to assign team owners to Dynatrace-monitored entities without creating teams from scratch.-
Ensure that the
get_groups
action precedes theimport_teams
action within the same workflow. We recommend that theimport_teams
action should immediately follow theget_groups
action.Important for importing Entra ID groups as ownership teams:
- You always need to include
id
anddisplayName
in$select
; these fields are mapped to the imported ownership team's Team identifier and Team name, respectively. - We recommend that you always include the
mailNickname
parameter inget_groups
. This field has unique values in Entra ID and is set as a unique, human-readable Supplementary Identifier for your imported ownership team within Dynatrace. - The Object Id from Entra ID, imported via the
id
parameter, is set as the unique Team identifier as well as the External ID of the imported ownership team. - The
mail
parameter is set as the Email of the imported ownership team.
- You always need to include
-
Select Entra ID groups as the Source of data on the Input tab in the
import_teams
action. -
Set Data containing the teams to import to
{{ result("get_groups") }}
—this uses the result ofget_groups
as the input forimport_teams
. -
Select import preferences.
Team import from Entra ID cannot be reversed. However, you can selectively import and protect changes to previously imported information when you choose one of the following.
-
If you've already imported teams from Entra ID, you can opt to Import new teams and skip existing teams. This option ensures that the imported team IDs don't overwrite any team information already stored in Dynatrace. This option allows for team maintenance and scheduled runs of team import.
This option is useful when you've previously imported teams and then modified the imported information in Dynatrace. In such cases, Dynatrace, not Entra ID, is the source of truth about your existing ownership teams, and you don't want subsequent runs of
import_teams
to overwrite your current information. -
If you want to import teams from Entra ID from scratch, select Import new teams and overwrite existing teams. For the team IDs being imported, this option overwrites any team information that already exists in Dynatrace.
-
-
-
ServiceNow groups
The
import_teams
action takes the results of the prebuiltget_groups
action, which gets group data from ServiceNow, and stores the data as ownership teams within Dynatrace. In this way, you can use your ServiceNow information to assign team owners to Dynatrace-monitored entities without creating teams from scratch.-
Make sure that the
get_groups
action precedes theimport_teams
action within the same workflow. We recommend that theimport_teams
action should immediately follow theget_groups
action. -
Select ServiceNow groups as the Source of data on the Input tab in the
import_teams
action. -
Set Data containing the teams to import to
{{ result("get_groups") }}
—this uses the result ofget_groups
as the input forimport_teams
. -
Select import preferences.
Team import from ServiceNow cannot be reversed. However, you can selectively import and protect changes to previously imported information when you choose one of the following.
-
If you've already imported teams from ServiceNow, you can opt to Import new teams and skip existing teams. This option ensures that the imported team IDs don't overwrite any team information already stored in Dynatrace. This option allows for team maintenance and scheduled runs of team import.
This option is useful when you've previously imported teams and modified the imported information in Dynatrace. In such cases, Dynatrace, not ServiceNow, is the source of truth about your existing ownership teams, and you don't want subsequent runs of
import_teams
to overwrite your current information. -
If you want to import teams from ServiceNow from scratch, select Import new teams and overwrite existing teams. For the team IDs being imported, this option overwrites any team information that already exists in Dynatrace.
-
-
-
JSON
import_teams
enables you to import ownership team information that was previously generated as a JSON array by therun_javascript
action within the same workflow. This approach enables you to retrieve team information from any third-party database in the structured format specified in the ownership configuration JSON schema (builtin:ownership.config
) that Dynatrace provides.-
Make sure that the
run_javascript
action precedesimport_teams
within the same workflow. We recommend that theimport_teams
action should immediately follow therun_javascript
action. The result ofrun_javascript
should be a JSON array thatimport_teams
can consume. -
In
import_teams
, select JSON in Ownership schema as the Source of data on the Input tab. -
Set Data containing the teams to import to
{{ result("run_javascript_1") }}
—this is the result ofrun_javascript
. -
Select import preferences.
Team import from JSON cannot be reversed. However, you can selectively import and protect changes to previously imported information when you choose one of the following.
-
Import new teams and skip existing teams ensures that for the team IDs being imported, any team information already stored in Dynatrace is not overwritten. This option allows for team maintenance and scheduled runs of team import.
This option is useful when you've previously imported teams and then modified the imported information in Dynatrace. In such cases, you don't want subsequent runs of
import_teams
to overwrite your current information. -
To import teams from scratch, select Import new teams and overwrite existing teams. For the team IDs being imported, this option overwrites any team information that already exists in Dynatrace.
-
-
get_owners
Prerequisites: you have set up ownership teams in Dynatrace and assigned them to monitored entities.
The get_owners
action enables you to retrieve the associated ownership teams included in the metadata of specified entities. You can define the source you would like to query the owners from. Both entity ID and team identifier can be used alone, or in combination.
- Select Entity IDs by either entering a Jinja Expression reference or by adding multiple Entity IDs separating them with either a comma
,
, or a semicolon;
. This action takes Entity IDs as input but can also infer the entity ID based on prior workflow action. - Select a Team from a list of team identifiers or enter a Jinja Expression reference. This action takes Team as input but can also infer the team based on prior workflow action.
- In Filter owners, choose owners based on responsibilities contained in team definitions in Filter owners by responsibility. By default, no filter is applied.
get_contact_details
deprecated
This workflow action has been deprecated as of Ownership app version 1.4.0, and we don't recommend using it anymore. As you can now get all contact details, such as email addresses and Slack channels, in the results of the get_owners
action, get_contact_details
is no longer required.
Prerequisites: you have set up ownership teams in Dynatrace and assigned them to monitored entities.
The get_contact_details
action enables you to easily extract team contact details such as an email address or Slack channel.
This action can only come after get_owners
in a workflow and takes the output of get_owners
as its input ({{result("get_owners")}}
). You can optionally filter for the specific type of contact information to retrieve (Filter by contact type).