diff --git a/content/en/internal_developer_portal/integrations.md b/content/en/internal_developer_portal/integrations.md index d36eec539e3..9875aba408b 100644 --- a/content/en/internal_developer_portal/integrations.md +++ b/content/en/internal_developer_portal/integrations.md @@ -1,5 +1,5 @@ --- -title: Use Integrations with Software Catalog +title: Integrations aliases: - /tracing/software_catalog/integrations - /tracing/service_catalog/integrations @@ -17,32 +17,44 @@ further_reading: --- {{% site-region region="gov" %}}
-PagerDuty and OpsGenie integrations for Software Catalog are not supported in the {{< region-param key=dd_datacenter code="true" >}} site. +PagerDuty and OpsGenie integrations for Internal Developer Portal are not supported in the {{< region-param key=dd_datacenter code="true" >}} site.
{{% /site-region %}} ## Overview -When you configure a service account for a [Datadog integration][10], you can incorporate metadata from your integrations into service definitions in the [Software Catalog][9]. You can also use autocomplete and validation features when editing a service definition in an [integrated development environment (IDE)](#ide-integrations). +When you configure a service account for a [Datadog integration][1], you can incorporate metadata from your integrations into [Software Catalog][16] entity definitions. From there, you can use the [Actions Catalog][31] to query external systems or trigger actions—such as creating incidents or updating tickets—without leaving Datadog. -## PagerDuty integration +{{< callout url="https://forms.gle/PzXWxrnGaQPiVf9M8" d_target="#signupModal" btn_hidden="false" header="Request a new integration" >}} +{{< /callout >}} -You can add PagerDuty metadata to a service so that the Software Catalog displays and links to information such as who is on-call and whether there are active PagerDuty incidents for the service. Because only one on-call can be displayed, Datadog selects the first user by escalation level, then alphabetically by email. +## Collaboration, incident management, and ticketing -### Setup +| Integration | Description | Example actions (Action Catalog) | +|--------------|----------------|----------------------------------| +| [PagerDuty][2] | Add PagerDuty metadata to a service so that the Software Catalog displays and links to information such as who is on-call and whether there are active PagerDuty incidents for the service. | `Get current on-call`, `Trigger incident`
[See all available actions.][32] | +| [OpsGenie][3] | Add OpsGenie metadata to a service so that the Software Catalog displays and links to information such as who is on-call for the service. | `Acknowledge alert`, `Get current on call`
[See all available actions.][33] | +| [StatusPage][4] | Create, update, and retrieve details about incidents and components. | `Create an incident`, `Update component status`
[See all available actions.][34] | +| [Freshservice][5] | Create, update, and query Freshservice tickets. | `List tickets`, `Update ticket`
[See all available actions.][35] | +| [Slack][6] | Send incident alerts or updates to Slack channels, and perform channel management. | `Invite users to channel`, `Set channel topic`
[See all available actions.][36] | +| [Microsoft Teams][7] | Send messages or prompts to Teams channels for incident collaboration. | `Make a decision`, `Send a message`
[See all available actions.][37] | +| [Jira][8] | create and update issues directly from Datadog. | `Create issue`, `Add comment`
[See all available actions.][38] | +| [Asana][9] | Create and update Asana tasks, assign users, and apply tags. | `Add tag to task`, `Update task completed status`
[See all available actions.][39] | +| [LaunchDarkly][10] | Track feature flag changes, let developers make changes without leaving the platform, and drive automation based on changes | `Add expire user target date`, `Toggle feature flag`
[See all available actions.][40] | -You can connect any service in your [PagerDuty Service Directory][1]. You can map one PagerDuty service for each service in the Software Catalog. +### Setup examples -1. If you have not already done so, set up the [Datadog PagerDuty integration][2]. - -2. Get your PagerDuty API access key as described in their [API Access Key][3] documentation. +{{% collapse-content title="PagerDuty" level="h4" expanded=false id="id-for-anchoring" %}} -3. Enter the API Access Key on [Pagerduty Integration Setup][4] to finish configuring it. +You can connect any service in your [PagerDuty Service Directory][63]. You can map one PagerDuty service to each service in Software Catalog. - {{< img src="tracing/software_catalog/pagerduty-token.png" alt="Copy and Paste the API Key to Pagerduty Setup." style="width:100%;" >}} +1. If you have not already done so, set up the [Datadog PagerDuty integration][2]. +1. Obtain your [PagerDuty API Access Key][61]. +1. Paste the key on the [PagerDuty Integration Setup][52] page. -4. Update the service definition with the PagerDuty information. For example, pass in the following `integrations` configuration lines within the full [service definition][5]: + {{< img src="tracing/software_catalog/pagerduty-token.png" alt="PagerDuty integration setup form with the API key field highlighted." style="width:100%;" >}} +1. Add PagerDuty information to the [entity definition][82]: ``` ... integrations: @@ -50,20 +62,20 @@ You can connect any service in your [PagerDuty Service Directory][1]. You can ma ... ``` -## OpsGenie integration +{{% /collapse-content %}} -You can add OpsGenie metadata to a service so that the Software Catalog displays and links to information such as who is on-call for the service. +{{% collapse-content title="OpsGenie" level="h4" expanded=false id="id-for-anchoring" %}} -### Setup +To add OpsGenie metadata to an entity definition: -1. If you have not already done so, set up the [Datadog OpsGenie integration][12]. -2. Get your OpsGenie API access key as described in their [API Key Management][13] documentation. This API key requires **configuration access** and **read** access rights. -3. Add an account in the **Accounts** section at the bottom of the [integration tile][14], paste your OpsGenie API access key, and select the region for your OpsGenie account. +1. If you have not already done so, set up the [Datadog OpsGenie integration][3]. +1. Obtain your [OpsGenie API Access Key][62] and ensure it has **configuration access** and **read** permissions. +3. At the bottom of the [integration tile][55], add an account, paste your OpsGenie API access key, and select the region for your OpsGenie account. {{< img src="tracing/software_catalog/create_account1.png" alt="The Create New Account workflow in the OpsGenie integration tile" style="width:80%;" >}} {{< img src="tracing/software_catalog/create_account2.png" alt="The Create New Account workflow in the OpsGenie integration tile" style="width:80%;" >}} -4. Update the service definition with the OpsGenie information to link your OpsGenie service with your Datadog service. For example, pass in the following `integrations` configuration lines within the full [service definition][5]: +4. Update the [entity definition][82] with OpsGenie metadata. For example: ```yaml "integrations": { @@ -74,25 +86,94 @@ You can add OpsGenie metadata to a service so that the Software Catalog displays } ``` -Once you've completed these steps, an **On Call** information box appears in the **Ownership** tab of a service in the Software Catalog. +Once you've completed these steps, an **On Call** information box appears in the **Ownership** tab for services in Software Catalog. {{< img src="tracing/software_catalog/oncall_information.png" alt="On Call information box displaying information from OpsGenie in the Software Catalog" style="width:85%;" >}} +{{% /collapse-content %}} + + +## Source code management + +| Integration | Description | Example actions (Action Catalog) | +|--------------|----------------|----------------------------------| +| [GitHub][11] | Create issues or PRs, manage repo files, and automate team access. | `Add labels to pull request`, `Get team membership`
[See all available actions.][41] | +| [GitLab][12] | Manage issues, merge requests, branches, and commits. | `Approve merge request`, `Cherry pick commit`
[See all available actions.][42] | +| Other (Bitbucket, Azure Repos) | Interact with platforms not natively supported in Datadog Software Catalog or Actions Catalog. | N/A; use HTTP actions and reqeusts to call platform APIs | + +You can also use GitHub to manage entity definitions and configure the GitHub integration to automatically pull definitions into Software Catalog. Learn more about [creating entity definitions and importing them from GitHub][83]. + +## CI/CD + +| Integration | Description | Example actions (Action Catalog) | +|--------------|----------------|----------------------------------| +| [GitHub Actions][11] | View, launch, and coordinate CI/CD workflows on GitHub. | `Get latest workflow run`, `Trigger github actions workflow run`
[See all available actions.][47] | +| [GitLab Pipelines][12] | Manage GitLab project pipelines, cancel or retry jobs, and query pipeline results. | `Get latest pipeline`, `Retry jobs in a pipeline`
[See all available actions.][48] | +| [Jenkins][13] | Trigger and manage Jenkins jobs. | `Submit Jenkins job`, `Get Jenkins job status`
[See all available actions.][43] | +| [CircleCI][14] | Interact with your CI pipelines. | `Approve workflow job`, `Get job details`
[See all available actions.][44] | +| [Azure DevOps Pipelines (ADO)][15] | Trigger pipelines and fetch run data—ideal for launching deployments or QA workflows based on monitor activity. | `Get pipeline`, `Run pipeline`
[See all available actions.][45] | + +## CMDBs and internal developer portals + + +You can import entities from ServiceNow and Backstage into Datadog's Software Catalog. Refer to the following documentation for details: + +- [Import entries from ServiceNow][84] +- [Import entries from Backstage][85] + + +## Cloud Resources + +Datadog's Infrastructure integrations and [Resource Catalog][54] provides a comprehensive inventory of integrations across AWS, Azure, and GCP. You can also leverage Datadog's 1000+ actions in the [Action Catalog][31] to create custom visualizations, actions, and automations. + ## Further reading {{< partial name="whats-next/whats-next.html" >}} -[1]: https://support.pagerduty.com/docs/service-directory +[1]: /integrations/ [2]: /integrations/pagerduty/ -[3]: https://support.pagerduty.com/docs/api-access-keys -[4]: https://app.datadoghq.com/integrations/pagerduty -[5]: /tracing/software_catalog/service_definition_api/ -[6]: http://json-schema.org/ -[7]: https://www.schemastore.org/json/ -[8]: https://raw.githubusercontent.com/DataDog/schema/main/service-catalog/version.schema.json -[9]: /tracing/software_catalog/ -[10]: /integrations/ -[11]: https://app.datadoghq.com/services -[12]: /integrations/opsgenie -[13]: https://support.atlassian.com/opsgenie/docs/api-key-management/ -[14]: https://app.datadoghq.com/integrations/opsgenie +[3]: /integrations/opsgenie +[4]: /integrations/statuspage/ +[5]: /integrations/guide/freshservice-tickets-using-webhooks/ +[6]: /integrations/slack +[7]: /integrations/microsoft_teams +[8]: /integrations/jira +[9]: /integrations/asana +[10]: /integrations/launchdarkly +[11]: /integrations/github +[12]: /integrations/gitlab +[13]: /integrations/jenkins +[14]: /integrations/circleci +[15]: /integrations/azure_devops/ +[16]: /internal_developer_portal/software_catalog/ +[31]: /actions/actions_catalog/ +[32]: /actions/actions_catalog/?search=pagerduty +[33]: /actions/actions_catalog/?search=opsgenie +[34]: /actions/actions_catalog/?search=statuspage +[35]: /actions/actions_catalog/?search=freshservice +[36]: /actions/actions_catalog/?search=slack +[37]: /actions/actions_catalog/?search=microsoft+teams +[38]: /actions/actions_catalog/?search=jira +[39]: /actions/actions_catalog/?search=asana +[40]: /actions/actions_catalog/?search=launchdarkly +[41]: /actions/actions_catalog/?search=github +[42]: /actions/actions_catalog/?search=gitlab +[43]: /actions/actions_catalog/?search=jenkins +[44]: /actions/actions_catalog/?search=circleci +[45]: /actions/actions_catalog/?search=azure+devops +[47]: /actions/actions_catalog/?search=github+actions +[48]: /actions/actions_catalog/?search=gitlab+pipelines +[51]: https://app.datadoghq.com/services +[52]: https://app.datadoghq.com/integrations/pagerduty +[53]: https://app.datadoghq.com/integrations/github +[54]: https://app.datadoghq.com/infrastructure/catalog +[55]: https://app.datadoghq.com/integrations/opsgenie +[61]: https://support.pagerduty.com/docs/api-access-keys +[62]: https://support.atlassian.com/opsgenie/docs/api-key-management/ +[63]: https://support.pagerduty.com/docs/service-directory +[82]: /internal_developer_portal/software_catalog/entity_model +[83]: /internal_developer_portal/software_catalog/set_up/create_entities#github-integration +[84]: /internal_developer_portal/software_catalog/set_up/import_entities#import-from-servicenow +[85]: /internal_developer_portal/software_catalog/set_up/import_entities#import-from-backstage + +