Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
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
21 changes: 14 additions & 7 deletions config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1762,24 +1762,26 @@ menu:
url: dashboards/sharing/shared_dashboards
parent: dashboards_sharing
weight: 1002
- name: Widget Public URLs
- name: Widget Share URLs
identifier: dashboards_sharing_widget_public_urls
url: dashboards/sharing/widget_public_urls
parent: dashboards_sharing
weight: 1003
- name: Secure Embedded Dashboards
identifier: dashboards_sharing_secure_embedded_dashboards
url: dashboards/sharing/secure_embedded_dashboards
parent: dashboards_sharing
weight: 1003
weight: 1004
- name: Share Graphs
identifier: dashboards_sharing_graphs
url: dashboards/sharing/graphs
parent: dashboards_sharing
weight: 1004
weight: 1005
- name: Scheduled Reports
identifier: dashboards_reporting
url: dashboards/sharing/scheduled_reports
parent: dashboards_sharing
weight: 1005
weight: 1006
- name: Guides
url: dashboards/guide/
parent: dashboards
Expand Down Expand Up @@ -4697,9 +4699,9 @@ menu:
identifier: live_debugger
parent: tracing
weight: 12
- name: Debug with Bits
url: tracing/live_debugger/debug-with-bits/
identifier: live_debugger_debug_with_bits
- name: Bits Live Debugger
url: tracing/live_debugger/bits-live-debugger/
identifier: live_debugger_bits_live_debugger
parent: live_debugger
weight: 1
- name: Error Tracking
Expand Down Expand Up @@ -6330,6 +6332,11 @@ menu:
parent: feature_flags_concepts
identifier: feature_flags_history
weight: 307
- name: Feature Flag Graphs
url: feature_flags/concepts/flag_graphs
parent: feature_flags_concepts
identifier: feature_flags_concepts_flag_graphs
weight: 308
- name: Implementation Patterns
url: feature_flags/implementation_patterns
parent: feature_flags
Expand Down
18 changes: 16 additions & 2 deletions content/en/account_management/workload_identity_federation.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,18 @@ Navigate to [**Organization Settings** > **Workload Identity Federation**][6] an

{{< img src="account_management/workload_identity_federation/identity-mappings-list.png" alt="Identity Mappings tab in the Workload Identity Federation page, showing the Org UUID field and a list of AWS ARN patterns mapped to Datadog users and service accounts" style="width:100%;" >}}

<div class="alert alert-warning">Datadog requires the <strong>assumed-role ARN</strong> in the Source Pattern field, not the IAM role ARN. These two formats are different:</div>
<ul>
<li><strong>IAM role ARN</strong> (shown in the AWS Console): <code>arn:aws:iam::123456789012:role/my-role</code></li>
<li><strong>Assumed-role ARN</strong> (required by Datadog): <code>arn:aws:sts::123456789012:assumed-role/my-role/session-name</code></li>
</ul>
To find the assumed-role ARN for your workload, run <code>aws sts get-caller-identity</code> from your workload environment and use the value in the <code>Arn</code> field of the response.

To create an identity mapping:

1. Click {{< ui >}}+ New Mapping{{< /ui >}}.
2. Select a **Cloud Provider**.
3. Enter a **Source Pattern (ARN)**. Use `*` for wildcard patterns (for example, `role/terraform-*`).
3. Enter a **Source Pattern (ARN)**. Use the assumed-role ARN format and `*` for wildcard patterns (for example, `arn:aws:sts::123456789012:assumed-role/terraform-runner/*`).
4. Search for and select a **Target Identity**. This is the Datadog user or service account this cloud identity authenticates as.
5. Click {{< ui >}}Create Mapping{{< /ui >}}.

Expand Down Expand Up @@ -277,11 +284,18 @@ Navigate to [**Organization Settings** > **Workload Identity Federation**][6] an

{{< img src="account_management/workload_identity_federation/intake-mappings-list.png" alt="Intake Mappings tab in the Workload Identity Federation page, showing the Org UUID field and a list of AWS ARN patterns authorized for Agent authentication" style="width:100%;" >}}

<div class="alert alert-warning">Datadog requires the <strong>assumed-role ARN</strong> in the Source Pattern field, not the IAM role ARN. These two formats are different:</div>
<ul>
<li><strong>IAM role ARN</strong> (shown in the AWS Console): <code>arn:aws:iam::123456789012:role/my-role</code></li>
<li><strong>Assumed-role ARN</strong> (required by Datadog): <code>arn:aws:sts::123456789012:assumed-role/my-role/session-name</code></li>
</ul>
To find the assumed-role ARN for your workload, run <code>aws sts get-caller-identity</code> from your workload environment and use the value in the <code>Arn</code> field of the response.

To create an intake mapping:

1. Click {{< ui >}}+ New Mapping{{< /ui >}}.
2. Select a **Cloud Provider**.
3. Enter a **Source Pattern (ARN)**. Use `*` for wildcard patterns (for example, `role/terraform-*`).
3. Enter a **Source Pattern (ARN)**. Use the assumed-role ARN format and `*` for wildcard patterns (for example, `arn:aws:sts::123456789012:assumed-role/DatadogAgentRole/*`).
4. Click {{< ui >}}Create Mapping{{< /ui >}}.

{{< img src="account_management/workload_identity_federation/intake-mapping-create.png" alt="Create Intake Mapping dialog with fields for Cloud Provider and Source Pattern ARN, with helper text describing wildcard pattern support" style="width:70%;" >}}
Expand Down
4 changes: 0 additions & 4 deletions content/en/agent/fleet_automation/configure_integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ further_reading:
site-support-id: fleet-automation-standard-features
---

{{< callout btn_hidden="true" header="Join the Preview!" >}}
Remote integration configuration is in Preview.
{{< /callout >}}

Fleet Automation can deploy, update, and remove [integration][1] configuration files (`conf.d`) on your Agents remotely. Select target Agents by host or tag, choose an integration, and Fleet Automation pushes the configuration change across your fleet.

## Prerequisites
Expand Down
31 changes: 21 additions & 10 deletions content/en/bits_ai/bits_ai_dev_agent/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,25 @@ further_reading:

## Overview

Bits Code is a generative AI coding assistant that uses Datadog observability data to automatically diagnose and fix issues in your code. It integrates with GitHub to create production-ready pull requests, then iterates on changes using CI logs and developer feedback.
Bits Code is a generative AI coding assistant that uses Datadog observability data to automatically diagnose and fix issues in your code. It integrates with [source code providers](#supported-source-code-providers) to create production-ready pull or merge requests, then iterates on changes using CI logs and developer feedback.

{{< img src="bits_ai/dev_agent/sessions_overview.png" alt="A tab titled 'Sessions' shows a text field with suggestions underneath" style="width:100%;" >}}

Each time Bits Code investigates an issue or generates a fix, it creates a [session](#sessions), which captures the agent's analysis, actions, and any resulting code changes across supported Datadog products. Set up [automations][28] to have Bits Code run sessions on a schedule or in response to signals from other Datadog products, such as a new APM Recommendation or flaky test.

To get started with Bits Code, [set up the GitHub integration][6] and complete any additional configuration. Then, [start your first session](#start-a-session).
To get started with Bits Code, [set up a source code integration][6] and complete any additional configuration. Then, [start your first session](#start-a-session).

Learn how your Bits Code usage is billed on [AI Credits][27].

## Supported source code providers
Bits Code supports the following source code providers:
- **GitHub**: GitHub.com and [GitHub Enterprise Cloud][30]
- **GitLab**: GitLab.com

The following plans are not supported:
- **Self-hosted plans**, such as GitHub Enterprise Server and GitLab Self-Managed.
- **Cloud-hosted plans on dedicated domains**, such as [GitHub Enterprise Cloud with data residency][31] and [GitLab Dedicated][32]. Bits Code supports only providers on the standard GitHub.com and GitLab.com domains.

## Sessions
A session captures a segment of work with Bits Code, including its analysis and code changes. Start, view, and manage your sessions at **Bits AI** > **Bits Code** > [**Sessions**][7].

Expand All @@ -38,7 +47,7 @@ After [completing setup][6], do one of the following to start a Bits Code sessio
A session can also be created when another Bits AI agent (like [Bits Chat][16] or [Bits Investigation][17]) hands off a coding task to Bits Code.

### View and manage sessions
On **[Sessions][7]**, view your past sessions in the **My Sessions** panel. A session appears here if you initiated it or interacted with it in some way, like participating in the conversation or creating an associated PR.
On **[Sessions][7]**, view your past sessions in the **My Sessions** panel. A session appears here if you initiated it or interacted with it in some way, like participating in the conversation or creating an associated PR or MR.

Click a session to view its details and continue working with Bits Code. To remove a session from your **My Sessions** list, click <i class="icon-archive-wui"></i> (**Archive for everyone**) or <i class="icon-eye-slashed-wui"></i> (**Unwatch session**).

Expand Down Expand Up @@ -74,18 +83,18 @@ Use the freeform prompt field at [**Sessions**][7] to work with Bits Code on gen

### Automations

[Automations][28] run Bits Code sessions automatically, on a schedule or in response to signals from Datadog products like Error Tracking, APM, or Code Security. After a session completes, Bits Code delivers the results as a pull request, a draft PR, or a Slack notification.
[Automations][28] run Bits Code sessions automatically, on a schedule or in response to signals from Datadog products like Error Tracking, APM, or Code Security. After a session completes, Bits Code delivers the results as a pull or merge request (optionally in draft mode) or a Slack notification.

You can build automations from triggers (a product finding, a custom prompt, a schedule, or a combination) and configure one or more outputs. Datadog-provided templates are also available to help you get started. Create and manage automations at **Bits AI** > **Bits Code** > [**Automations**][29].

### Pull request collaboration
### Pull or merge request collaboration

Bits Code integrates with GitHub to:
- Create pull requests, generating titles and descriptions based on your repository's pull request template
- Iterate on pull requests in response to comments; mention `@Datadog` in a comment to prompt Bits for updates
Bits Code integrates with [source code providers](#supported-source-code-providers) to:
- Create pull or merge requests, generating titles and descriptions based on your repository's pull or merge request template
- Iterate on pull or merge requests in response to comments; mention `@Datadog` in a comment to prompt Bits for updates
- Monitor CI logs and fix failures

Bits Code never auto-merges PRs. See all the PRs that Bits Code is working on in **Bits AI** > **Bits Code** > **[Sessions][7]**.
Bits Code never auto-merges PRs or MRs. See all the PRs or MRs that Bits Code is working on in **Bits AI** > **Bits Code** > **[Sessions][7]**.

## Limitations

Expand All @@ -107,7 +116,6 @@ Bits Code never auto-merges PRs. See all the PRs that Bits Code is working on in
[10]: /profiler/automated_analysis/
[12]: /containers/
[13]: /containers/bits_ai_kubernetes_remediation
[14]: https://app.datadoghq.com/code/settings
[15]: /security/code_security/static_analysis/ai_enhanced_sast/#remediation
[16]: /bits_ai/bits_chat/
[17]: /bits_ai/bits_ai_sre/
Expand All @@ -121,3 +129,6 @@ Bits Code never auto-merges PRs. See all the PRs that Bits Code is working on in
[27]: /account_management/billing/ai_credits/
[28]: /bits_ai/bits_ai_dev_agent/automations/
[29]: https://app.datadoghq.com/code/automations
[30]: https://docs.github.com/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud
[31]: https://docs.github.com/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud#about-data-residency
[32]: https://docs.gitlab.com/subscriptions/gitlab_dedicated/
24 changes: 12 additions & 12 deletions content/en/bits_ai/bits_ai_dev_agent/automations.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ further_reading:
---

## Overview
Create an automation to have Bits Code start a [session][1] when a trigger fires, such as a new Code Security finding or a recurring schedule, then deliver the results as a pull request or Slack notification.
Create an automation to have Bits Code start a [session][1] when a trigger firessuch as a new Code Security finding or a recurring schedule. Bits Code delivers the results as a pull or merge request, or a Slack notification.

{{< img src="bits_ai/dev_agent/automations/list.png" alt="Under an 'Automate with Bits' title, a table with columns like Name, Author, and Last Run has four rows." style="width:100%;" >}}

With Bits Code automations, you can:

- Generate code fixes on a schedule, without starting each session manually
- Have Bits Code respond to signals from other Datadog products, such as a new APM Recommendation, a flaky test, or a Code Security finding
- Route the resulting code changes directly to a pull request or notify a team in Slack
- Route the resulting code changes directly to a pull or merge request, or notify a team in Slack

## Prerequisites
To set up a Bits Code automation, each of the following must be true:
Expand All @@ -44,8 +44,8 @@ To create a custom Bits Code automation:
### Create an automation from a template
Find Datadog-provided automation templates in the **Automation Templates** section. These may include:

- **Create PRs based on APM Recommendations**: Generates pull requests based on APM Recommendations for a specific service.
- **Fix frequent errors for a repo**: Uses the [**Custom Prompt**](#custom-prompt-trigger) trigger to instruct Bits Code to scan the last 24 hours of logs, find the most frequent error, and open a pull request with a fix.
- **Create PRs based on APM Recommendations**: Generates pull or merge requests based on APM Recommendations for a specific service.
- **Fix frequent errors for a repo**: Uses the [**Custom Prompt**](#custom-prompt-trigger) trigger to instruct Bits Code to scan the last 24 hours of logs, find the most frequent error, and open a pull or merge request with a fix.

Click a template tile to be taken to the new automation form. You must configure an [output](#outputs) before creating the automation.

Expand All @@ -58,7 +58,7 @@ A trigger defines when an automation runs and what Bits Code acts on. A trigger

Click **Add Trigger** to add a component. You can combine a product finding with a schedule, a custom prompt with a schedule, or use a product finding on its own.

To limit how many Bits Code sessions the automation can create in a given period (for example, `5 runs per Week`), click **Add Trigger** > **Set max runs**. One automation execution may produce more than one session. Use this setting to control the volume of pull requests or notifications an automation produces.
To limit how many Bits Code sessions the automation can create in a given period (for example, `5 runs per Week`), click **Add Trigger** > **Set max runs**. One automation execution may produce more than one session. Use this setting to control the volume of pull or merge requests, or Slack notifications, an automation produces.

### Product finding trigger
A product finding trigger runs the automation in response to new issues in another Datadog product (for example, Error Tracking or Code Security). You can use a product finding trigger by itself, which runs the automation whenever there is a new finding, or with a [schedule](#schedule-trigger) and lookback window you define (in the **New findings within** field).
Expand All @@ -69,7 +69,7 @@ When setting up a product finding trigger, you can configure additional filters,
- **Flaky Tests** supports filtering by **Repository**, **Branch** (defaults to the repository's default branch), and **Status**.
- **Code Security (SAST)** supports filtering by **Repository**, **Severity**, **Rule to remediate**, and a toggle to **Filter out findings identified as false positives by Bits AI**.

<div class="alert alert-warning">Each finding that triggers an automation is tied to a single session. Multiple findings cannot be fixed in a single session or pull request.</div>
<div class="alert alert-warning">Each finding that triggers an automation must have its own session, and related pull or merge request. Multiple findings cannot be fixed in a single session.</div>

### Custom prompt trigger
A custom prompt tells Bits Code what to do each time the automation runs, in freeform text, against a chosen repository. Use a custom prompt for recurring maintenance tasks that aren't tied to a specific Datadog signal, such as updating dependencies or refreshing documentation.
Expand All @@ -80,17 +80,17 @@ A schedule trigger controls when an automation runs. It can be used in combinati
- **Custom Schedule**: Choose specific days of the week and a time of day (for example, `Mo, We, Fr at 03:00 pm`).

## Outputs
An output defines what Bits Code does after a [session][1] completes. An automation can have one or more outputs, including [opening a pull request](#pull-request-output) and [generating a Slack notification](#slack-message-output).
An output defines what Bits Code does after a [session][1] completes. An automation can have one or more outputs, including [opening a pull or merge request](#pull-or-merge-request-output) and [generating a Slack notification](#slack-message-output).

### Pull request output
### Pull or merge request output
You can configure your automation to:
- **Create a PR**: Open a pull request with the proposed changes
- **Draft a PR**: Open a draft pull request with the proposed changes
- **Create a PR or MR**: Open a pull or merge request with the proposed changes
- **Draft a PR or MR**: Open a draft pull or merge request with the proposed changes

As the author of a Bits Code automation, you are the author of all pull requests it generates.
As the author of a Bits Code automation, you are the author of all pull or merge requests it generates.

### Slack message output
You can configure your automation to send a Slack message summarizing the [session][1] and code changes. If you use a pull request output in addition to a Slack output, Bits Code includes a link to the pull request in the Slack message.
You can configure your automation to send a Slack message summarizing the [session][1] and code changes. If you use a pull or merge request output in addition to a Slack output, Bits Code includes a link to the pull or merge request in the Slack message.

When you add a Slack message output, by default, Bits Code sends the message to the channel configured for the affected service in [Catalog][5]. You can set a fallback Slack channel, which is used when no channel is set in Catalog.

Expand Down
Loading
Loading