Skip to content
Merged
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 115 additions & 34 deletions content/en/internal_developer_portal/integrations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Use Integrations with Software Catalog
title: Integrations
aliases:
- /tracing/software_catalog/integrations
- /tracing/service_catalog/integrations
Expand All @@ -17,53 +17,65 @@
---
{{% site-region region="gov" %}}
<div class="alert alert-warning">
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.
</div>
{{% /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

Check warning on line 31 in content/en/internal_developer_portal/integrations.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.headings

'Collaboration, incident management, and ticketing' should use sentence-style capitalization.

### 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` <br> [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` <br> [See all available actions.][33] |
| [StatusPage][4] | Create, update, and retrieve details about incidents and components. | `Create an incident`, `Update component status` <br> [See all available actions.][34] |
| [Freshservice][5] | Create, update, and query Freshservice tickets. | `List tickets`, `Update ticket` <br> [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` <br> [See all available actions.][36] |
| [Microsoft Teams][7] | Send messages or prompts to Teams channels for incident collaboration. | `Make a decision`, `Send a message` <br> [See all available actions.][37] |
| [Jira][8] | create and update issues directly from Datadog. | `Create issue`, `Add comment` <br> [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` <br> [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` <br> [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.

Check warning on line 53 in content/en/internal_developer_portal/integrations.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.words

Use 'PagerDuty' instead of 'Pagerduty'.

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:
pagerduty: https://www.pagerduty.com/service-directory/shopping-cart
...
```

## 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": {
Expand All @@ -74,25 +86,94 @@
}
```

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.

Check warning on line 89 in content/en/internal_developer_portal/integrations.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.words

Use 'After' instead of 'Once'.

{{< 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` <br> [See all available actions.][41] |
| [GitLab][12] | Manage issues, merge requests, branches, and commits. | `Approve merge request`, `Cherry pick commit` <br> [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` <br> [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` <br> [See all available actions.][48] |
| [Jenkins][13] | Trigger and manage Jenkins jobs. | `Submit Jenkins job`, `Get Jenkins job status` <br> [See all available actions.][43] |
| [CircleCI][14] | Interact with your CI pipelines. | `Approve workflow job`, `Get job details` <br> [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` <br> [See all available actions.][45] |

## CMDBs and internal developer portals

Check warning on line 116 in content/en/internal_developer_portal/integrations.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.headings

'CMDBs and internal developer portals' should use sentence-style capitalization.


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

Check warning on line 125 in content/en/internal_developer_portal/integrations.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.headings

'Cloud Resources' should use sentence-style capitalization.

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


Loading