---
schema_version: 1
route: /t/datadog-ci.md
tool: "datadog-ci"
---

# sincecutoff.com /t/datadog-ci — datadog-ci

- name: datadog-ci
- kind: cli
- children: none
- homepage: <https://github.com/DataDog/datadog-ci>

Changes to the tools coding agents drive, since a model's training cutoff, each linked to its first-party source. Check installed versions and limitations before acting; a cutoff date does not establish what a model knows.
Original editorial content: [Apache 2.0](https://sincecutoff.com/v1/data-license.txt), by [0xPatrick](https://0xpatrick.dev). Preserve applicable license and [NOTICE](https://sincecutoff.com/notice.txt) attribution when redistributing. Third-party source text and examples retain their own rights. [License scope and attribution](https://sincecutoff.com/v1/license.json).
To stay current, read the changes feed: [`/v1/changes.md?tool=datadog-ci`](https://sincecutoff.com/v1/changes.md?tool=datadog-ci) (or `.json`), adding `since=YYYY-MM-DD` for your training cutoff. Entries for registered children are included; the registry itself is `/v1/tools.json`. How to page and save your place: [llms.txt](https://sincecutoff.com/llms.txt).

### datadog-ci adds ppdb-symbols upload for .NET MAUI (2026-10-07)
- slug: datadog-ci-adds-ppdb-symbols-upload-for-net-maui-08f42eb7092f
- score: 0.98

How to use it:

When uploading .NET MAUI Portable PDBs for managed C# exception symbolication, set `DATADOG_API_KEY` in the environment or `apiKey` in `datadog-ci.json`. Run `datadog-ci ppdb-symbols upload <location> --debug-id-manifest <path>` with the build-time manifest from `dd-sdk-maui`.

Examples:

```
datadog-ci ppdb-symbols upload <location> --debug-id-manifest <path>
```

```
DATADOG_API_KEY=<api-key> datadog-ci ppdb-symbols upload <location> --debug-id-manifest <path>
```

```
{"apiKey":"<api-key>"}
```

- why_it_matters: Upload Portable PDB symbols from a .NET MAUI build so managed C# exceptions can be symbolicated.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.25.0>, <https://github.com/DataDog/datadog-ci/pull/2491>, <https://github.com/DataDog/datadog-ci/blob/v5.25.0/packages/base/src/commands/ppdb-symbols/README.md>
- gotchas: "Version: v5.25.0"; "`<location>` (required): One or more directories or file paths; directories are scanned recursively for `.pdb` files."; "`--debug-id-manifest <path>` (required): Path to manifest JSON (for example, `dd_debug_ids.json`) mapping assembly names to hex-encoded debug IDs."; "`DATADOG_API_KEY` / `apiKey` (required): API key used to authenticate requests; provide as environment variable or `datadog-ci.json` field. These are alternative ways to supply the key."; "`DD_SITE`: Datadog site for upload; defaults to `datadoghq.com`."; "Prerequisite: Set `DATADOG_API_KEY` or add it to `datadog-ci.json` as `apiKey`; the API key is required for authentication."; "Prerequisite: Use the build-time debug ID manifest generated by `dd-sdk-maui` to match PDB files to assembly debug IDs."; "A PDB without a matching manifest entry is skipped with a warning."; "An assembly name matching two manifest entries only by case is rejected."; "Backend acceptance of the `dotnet_portable_pdb` metadata type is tracked separately and is not part of this PR."

### datadog-ci enables Cloud Run automatic APM instrumentation (2026-09-11)
- slug: datadog-ci-enables-cloud-run-automatic-apm-instrumentation-f8cb04327b5b
- score: 0.98

How to use it:

When instrumenting a Cloud Run service for automatic APM, run `datadog-ci cloud-run instrument` with `--tracing inject` and the project, region, and service. Add `--language <language>` to select Java, Node.js, .NET, Python, Ruby, or PHP; omit it for language detection.

Examples:

```
datadog-ci cloud-run instrument --project <gcp-project> --region <gcp-region> --service <service-name> --tracing inject
```

```
datadog-ci cloud-run instrument --project <gcp-project> --region <gcp-region> --service <service-name> --tracing inject --language <java|nodejs|dotnet|python|ruby|php>
```

- why_it_matters: Enable automatic APM instrumentation for a Cloud Run deployment.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.24.0>, <https://docs.datadoghq.com/serverless/libraries_integrations/cli-cloud-run/>, <https://github.com/DataDog/datadog-ci>
- gotchas: "Version: v5.24.0"; "--project (-p) (required): Google Cloud project hosting the service."; "--region (-r) (required): Region hosting the service."; "--service / --services (-s) (required): Cloud Run service or services to instrument."; "--tracing (required): Set to `inject` to detect the application language and inject a tracer automatically."; "--language: Select Java, Node.js, .NET, Python, Ruby, or PHP for tracer injection; omit to use automatic language detection."; "Prerequisite: Valid GCP credentials with access to the target Cloud Run service; the docs suggest `gcloud auth application-default login`."; "Prerequisite: Expose `DD_API_KEY` in the command environment; `DD_SITE` is also supported and defaults to `datadoghq.com`."; "Prerequisite: Install `datadog-ci`; the documented CLI installation options include the `@datadog/datadog-ci` package, standalone binary, or Docker image."

### datadog-ci sourcemaps find locates local maps by debug ID (2026-09-11)
- slug: datadog-ci-sourcemaps-find-locates-local-maps-by-debug-id-94ac6d4081cf
- score: 0.99

How to use it:

When a sourcemap is missing from the Datadog UI, locate local `*.js.map` files by top-level `debug_id` or find maps without that field. Run `datadog-ci sourcemaps find` with the build directory and the appropriate query flag; it only inspects local files.

Examples:

```
datadog-ci sourcemaps find ./build --debug-id 12345678-1234-1234-1234-123456789abc
```

```
datadog-ci sourcemaps find ./build --missing-debug-id
```

- why_it_matters: Troubleshoot a sourcemap missing from the Datadog UI by locating matching artifacts in a local build directory.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.24.0>, <https://github.com/DataDog/datadog-ci/pull/2471>, <https://github.com/DataDog/datadog-ci/blob/v5.24.0/packages/base/src/commands/sourcemaps/README.md>
- gotchas: "Version: v5.24.0"; "directory (required): Directory to scan recursively for `*.js.map` files."; "--debug-id <uuid> (required): Selects sourcemaps with the specified top-level `debug_id`; use this query or `--missing-debug-id`."; "--missing-debug-id (required): Selects sourcemaps without a top-level `debug_id`; use this query or `--debug-id`."; "--json: Enables machine-readable output."; "--max-concurrency: Controls concurrent sourcemap inspection."; "The command scans `*.js.map` files recursively and reports matching sourcemap paths."; "It only examines local files and does not verify whether Datadog received an artifact."; "It does not inspect minified JavaScript bundles or compare bundle and sourcemap IDs."

### datadog-ci sourcemaps inject adds deterministic debug IDs (2026-09-11)
- slug: datadog-ci-sourcemaps-inject-adds-deterministic-debug-ids-ff59b6b3121e
- score: 0.99

How to use it:

After building JavaScript bundles and sourcemaps, run `datadog-ci sourcemaps inject <build-dir>` before deployment, then upload the same injected artifacts with `datadog-ci sourcemaps upload <build-dir> --debug-id`. Rebuild cleanly after source or build-configuration changes, and keep artifacts unchanged between injection, upload, and deployment.

Examples:

```
datadog-ci sourcemaps inject <build-dir>
```

```
datadog-ci sourcemaps inject <build-dir>
datadog-ci sourcemaps upload <build-dir> --debug-id
```

- why_it_matters: Prepare built JavaScript bundles and sourcemaps with Debug IDs before deployment and upload.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.24.0>, <https://github.com/DataDog/datadog-ci/pull/2454>, <https://github.com/DataDog/datadog-ci/blob/v5.24.0/packages/base/src/commands/sourcemaps/README.md>
- gotchas: "Version: v5.24.0"; "<build-dir> (required): Directory containing sourcemaps; the CLI searches recursively for `.js.map` files."; "--debug-id (required): Upload only bundles that already contain a Debug ID; upload reads the ID from the JavaScript bundle and does not modify build artifacts."; "--dry-run (inject): Preview injection without modifying files."; "--max-concurrency (inject): Controls concurrent artifact discovery; the inject documentation does not state a default."; "Prerequisite: Set `DD_API_KEY` in the environment for sourcemap upload."; "Prerequisite: Rebuild after source or build-configuration changes so bundles and sourcemaps are recreated without prior injection; a clean build is recommended."; "Prerequisite: Do not modify generated artifacts between injection, upload, and deployment; regenerate byte-dependent outputs such as SRI hashes or compressed assets after injection."; "The command modifies JavaScript bundles and sourcemaps in place."; "Bundles that already contain a debug ID are not reinjected; their sourcemap top-level `debug_id` is still added or corrected to match the bundle."; "Valid sourcemaps with an empty `mappings` field and their JavaScript bundles are left unchanged and reported as skipped."; "Upload reads the authoritative ID from the JavaScript bundle; upload matching does not depend on the sourcemap field."; "After source or build configuration changes, the normal build must recreate bundles and sourcemaps without the previous injection before reinjection; a clean build is recommended."; "Changed bundle contents receive a new debug ID, while unchanged rebuilt bundles reproduce the same deterministic ID."

### datadog-ci coverage upload adds --ignored-source-paths (2026-08-17)
- slug: datadog-ci-coverage-upload-adds-ignored-source-paths-383688e3e20a
- score: 0.92

How to use it:

When uploading coverage and excluding selected source files, pass their patterns to `--ignored-source-paths`; the list applies to this upload and replaces the YAML `ignore` list for it.

Examples:

```
datadog-ci coverage upload --ignored-source-paths "<pattern1>,<pattern2>" <path> [<another_path> ...]
```

- why_it_matters: Upload coverage while excluding selected source paths.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.23.0>, <https://github.com/DataDog/datadog-ci/blob/v5.23.0/packages/plugin-coverage/README.md>
- gotchas: "Version: v5.23.0"; "--ignored-source-paths <patterns>: Comma- or newline-separated source file patterns excluded from coverage computation. Patterns are matched server-side and sent verbatim. This list replaces the `ignore` list in `code-coverage.datadog.yml` for this upload; the lists are not merged."; "<path> [<another_path> ...] (required): One or more coverage report files, directories, or glob patterns to search; directory searches are recursive."; "Prerequisite: Set `DD_API_KEY` to a Datadog API key; it is required to authenticate requests."

### datadog-ci wasm-symbols upload adds beta WASM symbolication workflow (2026-08-17)
- slug: datadog-ci-wasm-symbols-upload-adds-beta-wasm-symbolication-workflow-c1fe2ab06c9f
- score: 0.98

How to use it:

When uploading WASM debug information for Browser SDK stack trace symbolication, provide a `.wasm` file or directory and enable the beta command. The command recursively scans directories and skips files without embedded DWARF sections or a `build_id` section.

Examples:

```
DD_BETA_COMMANDS_ENABLED=1 datadog-ci wasm-symbols upload <file-or-directory>
```

```
DD_BETA_COMMANDS_ENABLED=1 datadog-ci wasm-symbols upload --dry-run <file-or-directory>
```

- why_it_matters: Upload WebAssembly debug information from a build output directory so Datadog can symbolicate Browser SDK WASM stack traces.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.23.0>, <https://github.com/DataDog/datadog-ci/pull/2398>, <https://github.com/DataDog/datadog-ci/blob/v5.23.0/packages/base/src/commands/wasm-symbols/README.md>
- gotchas: "Version: v5.23.0"; "Availability: The `wasm-symbols upload` command is in beta and requires `DD_BETA_COMMANDS_ENABLED=1`."; "<file-or-directory> (required): File path uploads that file; directory path is scanned recursively for `.wasm` files."; "DD_BETA_COMMANDS_ENABLED=1 (required): Enables the beta `wasm-symbols upload` command."; "--dry-run: Skips the final upload step while performing other checks."; "--max-concurrency: Sets concurrent API uploads; defaults to 20."; "--disable-git: Prevents invoking Git and sending repository-related data to Datadog."; "--repository-url: Overrides the remote repository URL."; "--replace-existing: Replaces existing symbol information with the same build ID; by default, the first-seen file is kept and later files are skipped."; "Prerequisite: Set `DD_API_KEY` in the environment."; "Prerequisite: Set `DD_BETA_COMMANDS_ENABLED=1` to use the beta command."; "Prerequisite: For Datadog EU, set `DD_SITE=datadoghq.eu`; requests default to Datadog US."; "Prerequisite: The `.wasm` must contain embedded DWARF debug sections and a `build_id` custom section; files with only `external_debug_info` are skipped."; "A directory is scanned recursively for `.wasm` files; a file path uploads only that file."; "A `.wasm` file is uploaded only if it carries embedded DWARF debug sections, for example produced by `emcc -g` or `wasm-pack build --dev`."; "A file with only an `external_debug_info` section is skipped; the referenced separate debug artifact is not resolved or uploaded."; "A `.wasm` file without a `build_id` custom section is skipped."; "`--dry-run` omits the final upload step while still performing the other checks."; "Requests go to Datadog US by default; set `DD_SITE=datadoghq.eu` to use Datadog EU."; "The command requires `DD_API_KEY` in the environment."

### datadog-ci tag accepts comma-separated --level values (2026-07-06)
- slug: datadog-ci-tag-accepts-comma-separated-level-values-736103ad4d57
- score: 0.94

How to use it:

When tagging pipeline and job spans in a CI Visibility run, invoke `datadog-ci tag` once with `--level pipeline,job` and the desired tags.

Examples:

```
DATADOG_SITE=<site> datadog-ci tag --level pipeline,job --tags <tag1> --tags <tag2>
```

- why_it_matters: Tag software delivery events at the pipeline and job levels in one invocation.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.21.0>, <https://docs.datadoghq.com/continuous_integration/pipelines/custom_tags_and_measures/>
- gotchas: "Version: v5.21.0"; "--level: Selects the span level to tag. The v5.21.0 release note documents comma-separated values, including `pipeline,job`."; "--tags: Tag value to add; repeat the option for additional tags."; "DATADOG_SITE (required): Datadog site; supply it as an environment variable."; "DATADOG_API_KEY (required): Valid Datadog API key supplied as an environment variable."; "Prerequisite: Install datadog-ci CLI version 1.15.0 or later."; "Prerequisite: Set valid `DATADOG_API_KEY` and `DATADOG_SITE` environment variables."

### datadog-ci adds global --log-format json option (2026-06-29)
- slug: datadog-ci-adds-global-log-format-json-option-5398ec859ddc
- score: 0.92

How to use it:

When using datadog-ci v5.20.0 and a workflow needs JSON-formatted output, add the global `--log-format json` option to the command. The official v5.20.0 release note confirms the option was added, but the documentation found does not show a runnable command or specify option placement.

- why_it_matters: Format datadog-ci command output as JSON when a script or coding workflow consumes its logs.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.20.0>
- gotchas: "Version: v5.20.0"; "--log-format (required): Global option; the release note adds the `json` format value. Detailed flag behavior and placement are not documented on the pages found."; "Prerequisite: Use datadog-ci v5.20.0 or later for this added option."

### datadog-ci measure and tag support stage and step levels (2026-04-07)
- slug: datadog-ci-measure-and-tag-support-stage-and-step-levels-923616f8984b
- score: 0.97

How to use it:

When recording measures or tags in a supported CI provider, set `--level stage` for Azure Pipelines, GitLab, or Jenkins, or `--level step` for GitHub. For Jenkins, update the Datadog plugin to the release required for the new environment variable.

Examples:

```
datadog-ci measure --level stage --measures <key>:<number>
```

```
datadog-ci measure --level step --measures <key>:<number>
```

```
datadog-ci tag --level <stage|step> --tags <key>:<value>
```

- why_it_matters: When recording pipeline measures or tags in a supported CI environment, attach them to the relevant stage or step span.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.12.0>, <https://github.com/DataDog/datadog-ci/pull/2180>, <https://raw.githubusercontent.com/DataDog/datadog-ci/v5.12.0/packages/base/src/commands/measure/README.md>, <https://raw.githubusercontent.com/DataDog/datadog-ci/v5.12.0/packages/base/src/commands/tag/README.md>
- gotchas: "Version: v5.12.0"; "--level: Selects the span: `stage` for the current stage, `step` for the current step. Allowed values are `pipeline`, `job`, `stage`, and `step`."; "--measures: Repeatable `key:value` pair(s); each value must be numeric."; "--tags: Repeatable `key:value` pair(s) to add as tags."; "--no-fail: Prevents command failure when data submission has issues; default is `false`."; "Prerequisite: Set `DD_API_KEY` to a valid API key; set `DD_SITE` to the Datadog site. The CLI docs list Buildkite, CircleCI, GitHub, GitLab, Azure Pipelines, and Jenkins as supported providers."; "Prerequisite: The release note says Jenkins needs a new Datadog plugin release for the new environment variable; it does not give the required plugin version."; "Stages are supported for Azure, GitLab, and Jenkins."; "Steps are supported for GitHub Actions."; "The Jenkins environment variable requires the new release of the Datadog plugin."

### datadog-ci sourcemaps supports --commit-sha (2026-03-31)
- slug: datadog-ci-sourcemaps-supports-commit-sha-bfbc8bf2c0d8
- score: 0.95

How to use it:

When Git is unavailable, run `datadog-ci sourcemaps upload` with both `--repository-url` and `--commit-sha` (or their documented environment variables) to bypass Git and upload sourcemaps. The command uses sourcemap source paths directly; its repository root is the directory from which it runs.

Examples:

```
datadog-ci sourcemaps upload <sourcemap-directory> --service <service> --minified-path-prefix <prefix> --release-version <version> --repository-url <repository-url> --commit-sha <commit-sha>
```

- why_it_matters: Upload RUM sourcemaps when Git is unavailable or should be bypassed.
- before: The command invoked Git in the current working directory to collect repository information, unless `--disable-git` was set. `--disable-git` prevented Git invocation and repository data submission.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.11.0>, <https://github.com/DataDog/datadog-ci/blob/v5.11.0/packages/base/src/commands/sourcemaps/README.md>
- gotchas: "Version: v5.11.0"; "<sourcemap-directory> (required): Directory searched recursively for `.js.map` files; corresponding JavaScript bundles must be alongside their maps."; "--service <service> (required): Service name used to match the RUM SDK `service` tag."; "--release-version <version> (required): Version used to match the RUM SDK `version` tag."; "--minified-path-prefix <prefix> (required): Common URL or absolute path prefix where the JavaScript files are served."; "--repository-url <repository-url> (required): Repository URL; required with `--commit-sha` to bypass Git. Can alternatively be set with `DD_GIT_REPOSITORY_URL`."; "--commit-sha <commit-sha> (required): Commit SHA overriding the Git commit; required with `--repository-url` to bypass Git. Can alternatively be set with `DD_GIT_COMMIT_SHA`."; "Prerequisite: Set `DD_API_KEY` in the environment."; "Prerequisite: To bypass Git, provide both `--repository-url` and `--commit-sha` (or both documented environment variables)."

### datadog-ci synthetics run-tests adds dry-run API and flag (2026-03-30)
- slug: datadog-ci-synthetics-run-tests-adds-dry-run-api-and-flag-bb7aafe834bf
- score: 0.98

How to use it:

When you need to inspect which Synthetics tests would be triggered without running them, invoke `datadog-ci synthetics run-tests` with `--dry-run`; it prints a plan summary. The `planDryRun` library API resolves the test plan without executing tests.

Examples:

```
datadog-ci synthetics run-tests --dry-run
```

- why_it_matters: Prepare a Synthetics `run-tests` invocation without running tests.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.10.0>, <https://github.com/DataDog/datadog-ci/pull/2165>, <https://github.com/DataDog/datadog-ci/blob/v5.10.0/packages/plugin-synthetics/README.md>
- gotchas: "Version: v5.10.0"; "--dry-run: On `run-tests`, calls `planDryRun` and prints a human-readable summary; does not run tests."; "Prerequisite: Configure Datadog API and application keys using a global config file, `DD_API_KEY` and `DD_APP_KEY`, or CLI options."; "Prerequisite: Install `@datadog/datadog-ci` and the Synthetics plugin (`datadog-ci plugin install synthetics`)."

### datadog-ci adds the `lambda cloudwatch` command (2026-02-17)
- slug: datadog-ci-adds-the-lambda-cloudwatch-command-7f014c6e15c1
- score: 0.95

How to use it:

When managing CloudWatch Logs for Lambda functions, run `datadog-ci lambda cloudwatch disable` to attach a deny policy or `enable` to remove it; preview changes first with `--dry-run`.

Examples:

```
datadog-ci lambda cloudwatch disable -f <function-name> -r <aws-region> --dry-run
```

```
datadog-ci lambda cloudwatch disable -f <function-name> -r <aws-region>
```

```
datadog-ci lambda cloudwatch enable -f <lambda-arn>
```

- why_it_matters: Maintain a repository workflow that uses Datadog CI's Serverless commands to inspect or manage Lambda CloudWatch data.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.8.0>, <https://github.com/DataDog/datadog-ci/blob/v5.8.0/packages/plugin-lambda/README.md>
- gotchas: "Version: v5.8.0"; "<action> (required): Use `disable` to attach or `enable` to remove a deny policy on the function IAM role."; "--function / -f (required): Lambda ARN or function name; a name requires `--region`. May be repeated for multiple functions."; "--functions-regex (required): Regex matching Lambda function names; documented as an alternative to specifying functions with `-f`."; "--region / -r: Default AWS region when the function is specified by name; unnecessary with an ARN."; "--dry-run / --dry / -d: Preview command changes; defaults to false."; "--profile: AWS named profile credentials to use."; "--config: Path to a configuration file."; "Prerequisite: Configure valid AWS credentials with access to the Lambda and CloudWatch services."

### datadog-ci coverage upload adds repeatable --flags (2026-02-03)
- slug: datadog-ci-coverage-upload-adds-repeatable-flags-c9f972bc42fa
- score: 0.94

How to use it:

When uploading coverage reports for grouping or filtering, pass each report flag with a repeatable `--flags` option; use no more than 32 flags per report. [Coverage upload README](https://github.com/DataDog/datadog-ci/blob/v5.6.0/packages/plugin-coverage/README.md)

Examples:

```
datadog-ci coverage upload --flags type:unit-tests --flags jvm-21 unit-tests/coverage-reports acceptance-tests/coverage-reports e2e-tests/coverage-report.xml
```

- why_it_matters: When uploading coverage reports that need grouping or filtering, add custom flags to the upload command.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.6.0>, <https://github.com/DataDog/datadog-ci/pull/2070>, <https://github.com/DataDog/datadog-ci/blob/v5.6.0/packages/plugin-coverage/README.md>
- gotchas: "Version: v5.6.0"; "--flags <value>: Repeatable flag to mark coverage reports for grouping and filtering; maximum 32 flags per report."; "<path> <another_path> (required): Directories, files, or glob patterns used to find coverage reports; directories are searched recursively for supported reports."; "Prerequisite: Set `DD_API_KEY` to authenticate requests."; "Maximum 32 flags per report."

### datadog-ci sourcemaps upload reads sourceMappingURL values (2026-01-08)
- slug: datadog-ci-sourcemaps-upload-reads-sourcemappingurl-values-47fb12c4d960
- score: 0.95

How to use it:

When minified JavaScript files in the directory use `sourceMappingURL` values instead of the legacy filename pattern, run `sourcemaps upload` on that directory; it uses those values to locate sourcemaps. Set the required service, release version, and minified path prefix, and provide a Datadog API key.

Examples:

```
datadog-ci sourcemaps upload <directory> --service <service> --minified-path-prefix <URL-or-absolute-path> --release-version <version>
```

- why_it_matters: Upload source maps for minified JavaScript files in a directory when their map filenames do not follow the previous hardcoded naming pattern.
- before: The mapping was hardcoded: `foo.min.js` → `foo.map.js`.
- sources: <https://github.com/DataDog/datadog-ci/releases/tag/v5.2.0>, <https://github.com/DataDog/datadog-ci/pull/2035>, <https://github.com/DataDog/datadog-ci/pull/2048>, <https://github.com/DataDog/datadog-ci/blob/v5.2.0/packages/datadog-ci/src/commands/sourcemaps/README.md>
- gotchas: "Version: v5.2.0"; "<directory> (required): Directory containing sourcemaps; searched recursively."; "--service <service> (required): Service name used to match the RUM SDK `service` tag."; "--release-version <version> (required): Version used to match the RUM SDK `version` tag."; "--minified-path-prefix <URL-or-absolute-path> (required): Common URL or absolute-path prefix for the served JavaScript files."; "Prerequisite: Set `DD_API_KEY` or `DATADOG_API_KEY` in the environment."; "Looks at the last non-empty lines of minified JS files in the given directory."
