Skip to content

ddev

Usage:

ddev [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--core, -c boolean Work on integrations-core. False
--extras, -e boolean Work on integrations-extras. False
--marketplace, -m boolean Work on marketplace. False
--agent, -a boolean Work on datadog-agent. False
--here, -x boolean Work on the current location. False
--color / --no-color boolean Whether or not to display colored output (default is auto-detection) [env vars: FORCE_COLOR/NO_COLOR] None
--interactive / --no-interactive boolean Whether or not to allow features like prompts and progress bars (default is auto-detection) [env var: DDEV_INTERACTIVE] None
--verbose, -v integer range (0 and above) Increase verbosity (can be used additively) [env var: DDEV_VERBOSE] 0
--quiet, -q integer range (0 and above) Decrease verbosity (can be used additively) [env var: DDEV_QUIET] 0
--config text The path to a custom config file to use [env var: DDEV_CONFIG] None
--version boolean Show the version and exit. False
--help boolean Show this message and exit. False

ddev ci

CI related utils. Anything here should be considered experimental.

Usage:

ddev ci [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev ci setup

Run CI setup scripts

Usage:

ddev ci setup [OPTIONS] [CHECKS]...

Options:

Name Type Description Default
--changed boolean Only target changed checks False
--help boolean Show this message and exit. False

ddev clean

Remove build and test artifacts for the entire repository.

Usage:

ddev clean [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config

Manage the config file

Usage:

ddev config [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config edit

Edit the config file with your default editor.

Usage:

ddev config edit [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config explore

Open the config location in your file manager.

Usage:

ddev config explore [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config find

Show the location of the config file.

Usage:

ddev config find [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config restore

Restore the config file to default settings.

Usage:

ddev config restore [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config set

Assign values to config file entries. If the value is omitted, you will be prompted, with the input hidden if it is sensitive.

Usage:

ddev config set [OPTIONS] KEY [VALUE]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev config show

Show the contents of the config file.

Usage:

ddev config show [OPTIONS]

Options:

Name Type Description Default
--all, -a boolean Do not scrub secret fields False
--help boolean Show this message and exit. False

ddev create

Create scaffolding for a new integration.

NAME: The display name of the integration that will appear in documentation.

Usage:

ddev create [OPTIONS] NAME

Options:

Name Type Description Default
--type, -t choice (check | jmx | logs | metrics_crawler | snmp_tile | tile) The type of integration to create check
--location, -l text The directory where files will be written None
--non-interactive, -ni boolean Disable prompting for fields False
--quiet, -q boolean Show less output False
--dry-run, -n boolean Only show what would be created False
--help boolean Show this message and exit. False

ddev dep

Manage dependencies

Usage:

ddev dep [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev dep freeze

Combine all dependencies for the Agent's static environment.

Usage:

ddev dep freeze [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev dep pin

Pin a dependency for all checks that require it.

Usage:

ddev dep pin [OPTIONS] DEFINITION

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev dep sync

Update integrations' dependencies so that they match the Agent's static environment

Usage:

ddev dep sync [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev dep updates

Automatically check for dependency updates

Usage:

ddev dep updates [OPTIONS]

Options:

Name Type Description Default
--sync, -s boolean Update the dependency definitions False
--include-security-deps, -i boolean Attempt to update security dependencies False
--batch-size, -b integer The maximum number of dependencies to upgrade if syncing None
--help boolean Show this message and exit. False

ddev docs

Manage documentation.

Usage:

ddev docs [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev docs build

Build documentation.

Usage:

ddev docs build [OPTIONS]

Options:

Name Type Description Default
--check boolean Ensure links are valid False
--pdf boolean Also export the site as PDF False
--help boolean Show this message and exit. False

ddev docs serve

Serve documentation.

Usage:

ddev docs serve [OPTIONS]

Options:

Name Type Description Default
--dirty boolean Speed up reload time by only rebuilding edited pages (based on modified time). For development only. False
--help boolean Show this message and exit. False

ddev env

Manage environments.

Usage:

ddev env [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env agent

Invoke the Agent.

Usage:

ddev env agent [OPTIONS] INTEGRATION ENVIRONMENT ARGS...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env config

Manage the config file

Usage:

ddev env config [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env config edit

Edit the config file with your default editor.

Usage:

ddev env config edit [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env config explore

Open the config location in your file manager.

Usage:

ddev env config explore [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env config find

Show the location of the config file.

Usage:

ddev env config find [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env config show

Show the contents of the config file.

Usage:

ddev env config show [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env reload

Restart the Agent to detect environment changes.

Usage:

ddev env reload [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env shell

Enter a shell alongside the Agent.

Usage:

ddev env shell [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env show

Show active or available environments.

Usage:

ddev env show [OPTIONS] INTEGRATION [ENVIRONMENT]

Options:

Name Type Description Default
--ascii boolean Whether or not to only use ASCII characters False
--help boolean Show this message and exit. False

ddev env start

Start an environment.

Usage:

ddev env start [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--dev boolean Install the local version of the integration False
--base boolean Install the local version of the base package, implicitly enabling the --dev option False
--agent, -a text The Agent build to use e.g. a Docker image like datadog/agent:latest. You can also use the name of an Agent defined in the agents configuration section. None
-e text Environment variables to pass to the Agent e.g. -e DD_URL=app.datadoghq.com -e DD_API_KEY=foobar None
--help boolean Show this message and exit. False

ddev env stop

Stop environments. To stop all the running environments, use all as the integration name and the environment.

Usage:

ddev env stop [OPTIONS] INTEGRATION ENVIRONMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev env test

Test environments.

This runs the end-to-end tests.

If no ENVIRONMENT is specified, active is selected which will test all environments that are currently running. You may choose all to test all environments whether or not they are running.

Testing active environments will not stop them after tests complete. Testing environments that are not running will start and stop them automatically.

See these docs for to pass ENVIRONMENT and PYTEST_ARGS:

https://datadoghq.dev/integrations-core/testing/

Usage:

ddev env test [OPTIONS] INTEGRATION [ENVIRONMENT] [PYTEST_ARGS]...

Options:

Name Type Description Default
--dev boolean Install the local version of the integration False
--base boolean Install the local version of the base package, implicitly enabling the --dev option False
--agent, -a text The Agent build to use e.g. a Docker image like datadog/agent:latest. You can also use the name of an Agent defined in the agents configuration section. None
-e text Environment variables to pass to the Agent e.g. -e DD_URL=app.datadoghq.com -e DD_API_KEY=foobar None
--help boolean Show this message and exit. False

ddev meta

Anything here should be considered experimental.

This meta namespace can be used for an arbitrary number of niche or beta features without bloating the root namespace.

Usage:

ddev meta [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta catalog

Create a catalog with information about integrations

Usage:

ddev meta catalog [OPTIONS] CHECKS...

Options:

Name Type Description Default
-f, --file text Output to file (it will be overwritten), you can pass "tmp" to generate a temporary file None
--markdown, -m boolean Output to markdown instead of CSV False
--help boolean Show this message and exit. False

ddev meta changes

Show changes since a specific date.

Usage:

ddev meta changes [OPTIONS] SINCE

Options:

Name Type Description Default
--out, -o boolean Output to file False
--eager boolean Skip validation of commit subjects False
--help boolean Show this message and exit. False

ddev meta create-example-commits

Create branch commits from example repo

Usage:

ddev meta create-example-commits [OPTIONS] SOURCE_DIR

Options:

Name Type Description Default
--prefix, -p text Optional text to prefix each commit ``
--help boolean Show this message and exit. False

ddev meta dash

Dashboard utilities

Usage:

ddev meta dash [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta dash export

Export a Dashboard as JSON

Usage:

ddev meta dash export [OPTIONS] URL INTEGRATION

Options:

Name Type Description Default
--author, -a text The owner of this integration's dashboard. Default is 'Datadog' Datadog
--help boolean Show this message and exit. False

ddev meta jmx

JMX utilities

Usage:

ddev meta jmx [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta jmx query-endpoint

Query endpoint for JMX info

Usage:

ddev meta jmx query-endpoint [OPTIONS] HOST PORT [DOMAIN]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta manifest

Manifest utilities

Usage:

ddev meta manifest [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta manifest migrate

Helper tool to ease the migration of a manifest to a newer version, auto-filling fields when possible

Inputs:

integration: The name of the integration folder to perform the migration on

to_version: The schema version to upgrade the manifest to

Usage:

ddev meta manifest migrate [OPTIONS] INTEGRATION TO_VERSION

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta prom

Prometheus utilities

Usage:

ddev meta prom [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta prom info

Show metric info from a Prometheus endpoint.

Example: $ ddev meta prom info -e :8080/_status/vars

Usage:

ddev meta prom info [OPTIONS]

Options:

Name Type Description Default
-e, --endpoint text N/A None
-f, --file filename N/A None
--help boolean Show this message and exit. False

ddev meta prom parse

Interactively parse metric info from a Prometheus endpoint and write it to metadata.csv.

Usage:

ddev meta prom parse [OPTIONS] CHECK

Options:

Name Type Description Default
-e, --endpoint text N/A None
-f, --file filename N/A None
--here, -x boolean Output to the current location False
--help boolean Show this message and exit. False

ddev meta scripts

Miscellaneous scripts that may be useful.

Usage:

ddev meta scripts [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta scripts email2ghuser

Given an email, attempt to find a Github username associated with the email.

$ ddev meta scripts email2ghuser example@datadoghq.com

Usage:

ddev meta scripts email2ghuser [OPTIONS] EMAIL

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta scripts generate-metrics

Generate metrics with fake values for an integration

$ ddev meta scripts generate-metrics ray --api-url <URL> --api-key <API_KEY>

Usage:

ddev meta scripts generate-metrics [OPTIONS] INTEGRATION

Options:

Name Type Description Default
--api-url text The API URL to use, e.g. "api.datadoghq.com" api.datadoghq.com
--api-key text Your API key _required
--help boolean Show this message and exit. False

ddev meta scripts metrics2md

Convert a check's metadata.csv file to a Markdown table, which will be copied to your clipboard.

By default it will be compact and only contain the most useful fields. If you wish to use arbitrary metric data, you may set the check to cb to target the current contents of your clipboard.

Usage:

ddev meta scripts metrics2md [OPTIONS] CHECK [FIELDS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta scripts remove-labels

Remove all labels from an issue or pull request. This is useful when there are too many labels and its state cannot be modified (known GitHub issue).

$ ddev meta scripts remove-labels 5626

Usage:

ddev meta scripts remove-labels [OPTIONS] ISSUE_NUMBER

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta scripts serve-openmetrics-payload

Serve and collect metrics from OpenMetrics files with a real Agent

$ ddev meta scripts serve-openmetrics-payload ray payload1.txt payload2.txt

Usage:

ddev meta scripts serve-openmetrics-payload [OPTIONS] INTEGRATION
                                            [PAYLOADS]...

Options:

Name Type Description Default
-c, --config text Path to the config file to use for the integration. The openmetrics_endpoint option will be overriden to use the right URL. If not provided, the openmetrics_endpoint will be the only option configured. None
--help boolean Show this message and exit. False

ddev meta scripts upgrade-python

Upgrade the Python version of all test environments.

$ ddev meta scripts upgrade-python 3.11

Usage:

ddev meta scripts upgrade-python [OPTIONS] VERSION

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta snmp

SNMP utilities

Usage:

ddev meta snmp [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta snmp generate-profile-from-mibs

Generate an SNMP profile from MIBs. Accepts a directory path containing mib files to be used as source to generate the profile, along with a filter if a device or family of devices support only a subset of oids from a mib.

filters is the path to a yaml file containing a collection of MIBs, with their list of MIB node names to be included. For example:

RFC1213-MIB:
- system
- interfaces
- ip
CISCO-SYSLOG-MIB: []
SNMP-FRAMEWORK-MIB:
- snmpEngine
Note that each MIB:node_name correspond to exactly one and only one OID. However, some MIBs report legacy nodes that are overwritten.

To resolve, edit the MIB by removing legacy values manually before loading them with this profile generator. If a MIB is fully supported, it can be omitted from the filter as MIBs not found in a filter will be fully loaded. If a MIB is not fully supported, it can be listed with an empty node list, as CISCO-SYSLOG-MIB in the example.

-a, --aliases is an option to provide the path to a YAML file containing a list of aliases to be used as metric tags for tables, in the following format:

aliases:
- from:
    MIB: ENTITY-MIB
    name: entPhysicalIndex
  to:
    MIB: ENTITY-MIB
    name: entPhysicalName
MIBs tables most of the time define a column OID within the table, or from a different table and even different MIB, which value can be used to index entries. This is the INDEX field in row nodes. As an example, entPhysicalContainsTable in ENTITY-MIB
entPhysicalContainsEntry OBJECT-TYPE
SYNTAX      EntPhysicalContainsEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
        "A single container/'containee' relationship."
INDEX       { entPhysicalIndex, entPhysicalChildIndex }
::= { entPhysicalContainsTable 1 }
or its json dump, where INDEX is replaced by indices
"entPhysicalContainsEntry": {
    "name": "entPhysicalContainsEntry",
    "oid": "1.3.6.1.2.1.47.1.3.3.1",
    "nodetype": "row",
    "class": "objecttype",
    "maxaccess": "not-accessible",
    "indices": [
      {
        "module": "ENTITY-MIB",
        "object": "entPhysicalIndex",
        "implied": 0
      },
      {
        "module": "ENTITY-MIB",
        "object": "entPhysicalChildIndex",
        "implied": 0
      }
    ],
    "status": "current",
    "description": "A single container/'containee' relationship."
  },
Sometimes indexes are columns from another table, and we might want to use another column as it could have more human readable information - we might prefer to see the interface name vs its numerical table index. This can be achieved using metric_tag_aliases

Return a list of SNMP metrics and copy its yaml dump to the clipboard Metric tags need to be added manually

Usage:

ddev meta snmp generate-profile-from-mibs [OPTIONS] [MIB_FILES]...

Options:

Name Type Description Default
-f, --filters text Path to OIDs filter None
-a, --aliases text Path to metric tag aliases None
--debug, -d boolean Include debug output False
--interactive, -i boolean Prompt to confirm before saving to a file False
--source, -s text Source of the MIBs files. Can be a url or a path for a directory https://raw.githubusercontent.com:443/DataDog/mibs.snmplabs.com/master/asn1/@mib@
--compiled_mibs_path, -c text Source of compiled MIBs files. Can be a url or a path for a directory https://raw.githubusercontent.com/DataDog/mibs.snmplabs.com/master/json/@mib@
--help boolean Show this message and exit. False

ddev meta snmp generate-traps-db

Generate yaml or json formatted documents containing various information about traps. These files can be used by the Datadog Agent to enrich trap data. This command is intended for "Network Devices Monitoring" users who need to enrich traps that are not automatically supported by Datadog.

The expected workflow is as such:

1- Identify a type of device that is sending traps that Datadog does not already recognize.

2- Fetch all the MIBs that Datadog does not support.

3- Run ddev meta snmp generate-traps-db -o ./output_dir/ /path/to/my/mib1 /path/to/my/mib2

You'll need to install pysmi manually beforehand.

Usage:

ddev meta snmp generate-traps-db [OPTIONS] MIB_FILES...

Options:

Name Type Description Default
--mib-sources, -s text Url or a path to a directory containing the dependencies for [mib_files...].Traps defined in these files are ignored. None
--output-dir, -o directory Path to a directory where to store the created traps database file per MIB.Recommended option, do not use with --output-file None
--output-file file Path to a file to store a compacted version of the traps database file. Do not use with --output-dir None
--output-format choice (yaml | json) Use json instead of yaml for the output file(s). yaml
--no-descr boolean Removes descriptions from the generated file(s) when set (more compact). False
--debug, -d boolean Include debug output False
--help boolean Show this message and exit. False

ddev meta snmp translate-profile

Do OID translation in a SNMP profile. This isn't a plain replacement, as it doesn't preserve comments and indent, but it should automate most of the work.

You'll need to install pysnmp and pysnmp-mibs manually beforehand.

Usage:

ddev meta snmp translate-profile [OPTIONS] PROFILE_PATH

Options:

Name Type Description Default
--mib_source_url text Source url to fetch missing MIBS https://raw.githubusercontent.com:443/DataDog/mibs.snmplabs.com/master/asn1/@mib@
--help boolean Show this message and exit. False

ddev meta snmp validate-mib-filenames

Validate MIB file names. Frameworks used to load mib files expect MIB file names to match MIB name.

Usage:

ddev meta snmp validate-mib-filenames [OPTIONS] [MIB_FILES]...

Options:

Name Type Description Default
--interactive, -i boolean Prompt to confirm before renaming all invalid MIB files False
--help boolean Show this message and exit. False

ddev meta snmp validate-profile

Validate SNMP profiles

Usage:

ddev meta snmp validate-profile [OPTIONS]

Options:

Name Type Description Default
-f, --file text Path to a profile file to validate None
-d, --directory text Path to a directory of profiles to validate None
-v, --verbose boolean Increase verbosity of error messages False
--help boolean Show this message and exit. False

ddev meta windows

Windows utilities

Usage:

ddev meta windows [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev meta windows pdh

PDH utilities

Usage:

ddev meta windows pdh [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
ddev meta windows pdh browse

Explore performance counters.

You'll need to install pywin32 manually beforehand.

Usage:

ddev meta windows pdh browse [OPTIONS] [COUNTERSET]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release

Manage the release of integrations.

Usage:

ddev release [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release agent

A collection of tasks related to the Datadog Agent.

Usage:

ddev release agent [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release agent changelog

Generates a markdown file containing the list of checks that changed for a given Agent release. Agent version numbers are derived inspecting tags on integrations-core so running this tool might provide unexpected results if the repo is not up to date with the Agent release process.

If neither --since or --to are passed (the most common use case), the tool will generate the whole changelog since Agent version 6.3.0 (before that point we don't have enough information to build the log).

Usage:

ddev release agent changelog [OPTIONS]

Options:

Name Type Description Default
--since text Initial Agent version 6.3.0
--to text Final Agent version None
--write, -w boolean Write to the changelog file, if omitted contents will be printed to stdout False
--force, -f boolean Replace an existing file False
--help boolean Show this message and exit. False

ddev release agent integrations

Generates a markdown file containing the list of integrations shipped in a given Agent release. Agent version numbers are derived by inspecting tags on integrations-core, so running this tool might provide unexpected results if the repo is not up to date with the Agent release process.

If neither --since nor --to are passed (the most common use case), the tool will generate the list for every Agent since version 6.3.0 (before that point we don't have enough information to build the log).

Usage:

ddev release agent integrations [OPTIONS]

Options:

Name Type Description Default
--since text Initial Agent version 6.3.0
--to text Final Agent version None
--write, -w boolean Write to file, if omitted contents will be printed to stdout False
--force, -f boolean Replace an existing file False
--help boolean Show this message and exit. False

ddev release agent integrations-changelog

Update integration CHANGELOG.md by adding the Agent version.

Agent version is only added to the integration versions released with a specific Agent release.

Usage:

ddev release agent integrations-changelog [OPTIONS] [INTEGRATIONS]...

Options:

Name Type Description Default
--since text Initial Agent version 6.3.0
--to text Final Agent version None
--write, -w boolean Write to the changelog file, if omitted contents will be printed to stdout False
--help boolean Show this message and exit. False

ddev release branch

Manage Agent release branches.

Usage:

ddev release branch [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release branch create

Create a branch for a release of the Agent.

BRANCH_NAME should match this pattern: ^\d+.\d+.x$, for example7.52.x`.

This command will also create the backport/<BRANCH_NAME> label in GitHub for this release branch.

Usage:

ddev release branch create [OPTIONS] BRANCH_NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release build

Build a wheel for a check as it is on the repo HEAD

Usage:

ddev release build [OPTIONS] CHECK

Options:

Name Type Description Default
--sdist, -s boolean N/A False
--help boolean Show this message and exit. False

ddev release changelog

Manage changelogs.

Usage:

ddev release changelog [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release changelog fix

Fix changelog entries.

This command is only needed if you are manually writing to the changelog. For instance for marketplace and extras integrations. Don't use this in integrations-core because the changelogs there are generated automatically.

The first line of every new changelog entry must include the PR number in which the change occurred. This command will apply this suffix to manually added entries if it is missing.

Usage:

ddev release changelog fix [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release changelog new

This creates new changelog entries in Markdown format.

If the ENTRY_TYPE is not specified, you will be prompted.

The --message option can be used to specify the changelog text. If this is not supplied, an editor will be opened for you to manually write the entry. The changelog text that is opened defaults to the PR title, followed by the most recent commit subject. If that is sufficient, then you may close the editor tab immediately.

By default, changelog entries will be created for all integrations that have changed code. To create entries only for specific targets, you may pass them as additional arguments after the entry type.

Usage:

ddev release changelog new [OPTIONS] [ENTRY_TYPE] [TARGETS]...

Options:

Name Type Description Default
--message, -m text The changelog text None
--help boolean Show this message and exit. False

ddev release list

Show all versions of an integration.

Usage:

ddev release list [OPTIONS] INTEGRATION

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release make

Perform a set of operations needed to release checks:

  • update the version in __about__.py
  • update the changelog
  • update the requirements-agent-release.txt file
  • update in-toto metadata
  • commit the above changes

You can release everything at once by setting the check to all.

If you run into issues signing: - Ensure you did gpg --import <YOUR_KEY_ID>.gpg.pub

Usage:

ddev release make [OPTIONS] CHECKS...

Options:

Name Type Description Default
--version text N/A None
--end text N/A None
--new boolean Ensure versions are at 1.0.0 False
--skip-sign boolean Skip the signing of release metadata False
--sign-only boolean Only sign release metadata False
--exclude text Comma-separated list of checks to skip None
--allow-master boolean Allow ddev to commit directly to master. Forbidden for core. False
--help boolean Show this message and exit. False

ddev release show

To avoid GitHub's public API rate limits, you need to set github.user/github.token in your config file or use the DD_GITHUB_USER/DD_GITHUB_TOKEN environment variables.

Usage:

ddev release show [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release show changes

Show all the pending PRs for a given check.

Usage:

ddev release show changes [OPTIONS] CHECK

Options:

Name Type Description Default
--tag-pattern text The regex pattern for the format of the tag. Required if the tag doesn't follow semver None
--tag-prefix text Specify the prefix of the tag to use if the tag doesn't follow semver None
--dry-run, -n boolean Run the command in dry-run mode False
--since text The git ref to use instead of auto-detecting the tag to view changes since None
--help boolean Show this message and exit. False

ddev release show ready

Show all the checks that can be released.

Usage:

ddev release show ready [OPTIONS]

Options:

Name Type Description Default
--quiet, -q boolean N/A False
--help boolean Show this message and exit. False

ddev release stats

A collection of tasks to generate reports about releases.

Usage:

ddev release stats [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release stats merged-prs

Prints the PRs merged between the first RC and the current RC/final build

Usage:

ddev release stats merged-prs [OPTIONS]

Options:

Name Type Description Default
--from-ref, -f text Reference to start stats on (first RC tagged) _required
--to-ref, -t text Reference to end stats at (current RC/final tag) _required
--release-milestone, -r text Github release milestone _required
--exclude-releases, -e boolean Flag to exclude the release PRs from the list False
--export-csv text CSV file where the list will be exported None
--help boolean Show this message and exit. False

ddev release stats report

Prints some release stats we want to track

Usage:

ddev release stats report [OPTIONS]

Options:

Name Type Description Default
--from-ref, -f text Reference to start stats on (first RC tagged) _required
--to-ref, -t text Reference to end stats at (current RC/final tag) _required
--release-milestone, -r text Github release milestone _required
--help boolean Show this message and exit. False

ddev release tag

Tag the HEAD of the git repo with the current release number for a specific check. The tag is pushed to origin by default.

You can tag everything at once by setting the check to all.

Notice: specifying a different version than the one in __about__.py is a maintenance task that should be run under very specific circumstances (e.g. re-align an old release performed on the wrong commit).

Usage:

ddev release tag [OPTIONS] CHECK [VERSION]

Options:

Name Type Description Default
--push / --no-push boolean N/A True
--dry-run, -n boolean N/A False
--skip-prerelease boolean N/A False
--help boolean Show this message and exit. False

ddev release trello

Subcommands for interacting with Trello Release boards.

To use Trello: 1. Go to https://trello.com/app-key and copy your API key. 2. Run ddev config set trello.key and paste your API key. 3. Go to https://trello.com/1/authorize?key=key&name=name&scope=read,write&expiration=never&response_type=token, where key is your API key and name is the name to give your token, e.g. ReleaseTestingYourName. Authorize access and copy your token. 4. Run ddev config set trello.token and paste your token.

Usage:

ddev release trello [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release trello status

Print tabular status of Agent Release based on Trello columns.

See trello subcommand for details on how to setup access:

ddev release trello -h.

Usage:

ddev release trello status [OPTIONS]

Options:

Name Type Description Default
--verbose, -v boolean Return the detailed results instead of the aggregates False
--json, -j boolean Return as raw JSON instead False
--help boolean Show this message and exit. False

ddev release trello testable

Create a Trello card for changes since a previous release (referenced by BASE_REF) that need to be tested for the next release (referenced by TARGET_REF).

BASE_REF and TARGET_REF can be any valid git references. It practice, you should use either:

  • A tag: 7.16.1, 7.17.0-rc.4, ...

  • A release branch: 6.16.x, 7.17.x, ...

  • The master branch.

NOTE: using a minor version shorthand (e.g. 7.16) is not supported, as it is ambiguous.

Example: assuming we are working on the release of 7.17.0, we can...

  • Create cards for changes between a previous Agent release and master (useful when preparing an initial RC):

    $ ddev release trello testable 7.16.1 origin/master

  • Create cards for changes between a previous RC and master (useful when preparing a new RC, and a separate release branch was not created yet):

    $ ddev release trello testable 7.17.0-rc.2 origin/master

  • Create cards for changes between a previous RC and a release branch (useful to only review changes in a release branch that has diverged from master):

    $ ddev release trello testable 7.17.0-rc.4 7.17.x

  • Create cards for changes between two arbitrary tags, e.g. between RCs:

    $ ddev release trello testable 7.17.0-rc.4 7.17.0-rc.5

TIP: run with ddev -x release trello testable to force the use of the current directory. To avoid GitHub's public API rate limits, you need to set github.user/github.token in your config file or use the DD_GITHUB_USER/DD_GITHUB_TOKEN environment variables.

See trello subcommand for details on how to setup access:

ddev release trello -h.

Usage:

ddev release trello testable [OPTIONS] BASE_REF TARGET_REF

Options:

Name Type Description Default
--milestone text The PR milestone to filter by None
--dry-run, -n boolean Only show the changes False
--update-rc-builds-cards boolean Update cards in RC builds column with target_ref version False
--move-cards boolean Do not create a card for a change, but move the existing card from HAVE BUGS - FIXME or FIXED - Ready to Rebuild to INBOX team False
--help boolean Show this message and exit. False

Update links to RCs in the QA board Trello cards

Usage:

ddev release trello update-rc-links [OPTIONS] TARGET_REF

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev release upload

Release a specific check to PyPI as it is on the repo HEAD.

Usage:

ddev release upload [OPTIONS] CHECK

Options:

Name Type Description Default
--sdist, -s boolean N/A False
--dry-run, -n boolean N/A False
--help boolean Show this message and exit. False

ddev run

Run commands in the proper repo.

Usage:

ddev run [OPTIONS] [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev status

Show information about the current environment.

Usage:

ddev status [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev test

Run unit and integration tests.

Please see these docs to know how to pass TARGET_SPEC and PYTEST_ARGS:

https://datadoghq.dev/integrations-core/testing/

Usage:

ddev test [OPTIONS] [TARGET_SPEC] [PYTEST_ARGS]...

Options:

Name Type Description Default
--lint, -s boolean Run only lint & style checks False
--fmt, -fs boolean Run only the code formatter False
--bench, -b boolean Run only benchmarks False
--latest boolean Only verify support of new product versions False
--cov, -c boolean Measure code coverage False
--compat boolean Check compatibility with the minimum allowed Agent version False
--ddtrace boolean Enable tracing during test execution False
--memray boolean Measure memory usage during test execution False
--recreate, -r boolean Recreate environments from scratch False
--list, -l boolean Show available test environments False
--help boolean Show this message and exit. False

ddev validate

Verify certain aspects of the repo.

Usage:

ddev validate [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate agent-reqs

Verify that the checks versions are in sync with the requirements-agent-release.txt file.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate agent-reqs [OPTIONS] [CHECK]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate all

Run all CI validations for a repo.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate all [OPTIONS] [CHECK]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate ci

Validate CI infrastructure configuration.

Usage:

ddev validate ci [OPTIONS]

Options:

Name Type Description Default
--sync boolean Update the CI configuration False
--help boolean Show this message and exit. False

ddev validate codeowners

Validate that every integration has an entry in the CODEOWNERS file.

Usage:

ddev validate codeowners [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate config

Validate default configuration files.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate config [OPTIONS] [CHECK]

Options:

Name Type Description Default
--sync, -s boolean Generate example configuration files based on specifications False
--verbose, -v boolean Verbose mode False
--help boolean Show this message and exit. False

ddev validate dashboards

Validate all Dashboard definition files.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate dashboards [OPTIONS] [CHECK]

Options:

Name Type Description Default
--fix boolean Attempt to fix errors False
--help boolean Show this message and exit. False

ddev validate dep

This command will:

  • Verify the uniqueness of dependency versions across all checks, or optionally a single check
  • Verify all the dependencies are pinned.
  • Verify the embedded Python environment defined in the base check and requirements listed in every integration are compatible.
  • Verify each check specifies a CHECKS_BASE_REQ variable for datadog-checks-base requirement
  • Optionally verify that the datadog-checks-base requirement is lower-bounded
  • Optionally verify that the datadog-checks-base requirement satisfies specific version

Usage:

ddev validate dep [OPTIONS] [CHECK]

Options:

Name Type Description Default
--require-base-check-version boolean Require specific version for datadog-checks-base requirement False
--min-base-check-version text Specify minimum version for datadog-checks-base requirement, e.g. 11.0.0 None
--help boolean Show this message and exit. False

ddev validate eula

Validate all EULA definition files.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate eula [OPTIONS] [CHECK]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate http

Validate all integrations for usage of HTTP wrapper.

If integrations is specified, only those will be validated, an 'all' check value will validate all checks.

Usage:

ddev validate http [OPTIONS] [INTEGRATIONS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate imports

Validate proper imports in checks.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate imports [OPTIONS] [CHECK]

Options:

Name Type Description Default
--autofix boolean Apply suggested fix False
--help boolean Show this message and exit. False

ddev validate integration-style

Validate that check follows style guidelines.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate integration-style [OPTIONS] [CHECK]

Options:

Name Type Description Default
--verbose, -v boolean Verbose mode False
--help boolean Show this message and exit. False

ddev validate jmx-metrics

Validate all default JMX metrics definitions.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate jmx-metrics [OPTIONS] [CHECK]

Options:

Name Type Description Default
--verbose, -v boolean Verbose mode False
--help boolean Show this message and exit. False

ddev validate labeler

Validate labeler configuration.

Usage:

ddev validate labeler [OPTIONS]

Options:

Name Type Description Default
--sync boolean Update the labeler configuration False
--help boolean Show this message and exit. False

ddev validate legacy-signature

Validate that no integration uses the legacy signature.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate legacy-signature [OPTIONS] [CHECK]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate license-headers

Validate license headers in python code files.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all python files.

Usage:

ddev validate license-headers [OPTIONS] [CHECK]

Options:

Name Type Description Default
--fix boolean Attempt to fix errors False
--help boolean Show this message and exit. False

ddev validate licenses

Validate third-party license list

Usage:

ddev validate licenses [OPTIONS]

Options:

Name Type Description Default
--sync, -s boolean Generate the LICENSE-3rdparty.csv file False
--help boolean Show this message and exit. False

ddev validate manifest

Validate integration manifests.

Usage:

ddev validate manifest [OPTIONS] [INTEGRATIONS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate metadata

Validate metadata.csv files

If integrations is specified, only the check will be validated, an 'all' or empty value will validate all metadata.csv files, a changed value will validate changed integrations.

Usage:

ddev validate metadata [OPTIONS] [INTEGRATIONS]...

Options:

Name Type Description Default
--check-duplicates boolean Output warnings if there are duplicate short names and descriptions False
--show-warnings, -w boolean Show warnings in addition to failures False
--sync boolean Update the file False
--help boolean Show this message and exit. False

ddev validate models

Validate configuration data models.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate models [OPTIONS] [CHECK]

Options:

Name Type Description Default
--sync, -s boolean Generate data models based on specifications False
--verbose, -v boolean Verbose mode False
--help boolean Show this message and exit. False

ddev validate openmetrics

Validate OpenMetrics metric limit.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate nothing.

Usage:

ddev validate openmetrics [OPTIONS] [INTEGRATIONS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate package

Validate all files for Python package metadata.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all files.

Usage:

ddev validate package [OPTIONS] [CHECK]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate readmes

Validates README files.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate readmes [OPTIONS] [CHECK]

Options:

Name Type Description Default
--format-links, -fl boolean Automatically format links False
--help boolean Show this message and exit. False

ddev validate saved-views

Validates saved view files

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all saved view files.

Usage:

ddev validate saved-views [OPTIONS] [CHECK]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

ddev validate service-checks

Validate all service_checks.json files.

If check is specified, only the check will be validated, if check value is 'changed' will only apply to changed checks, an 'all' or empty check value will validate all README files.

Usage:

ddev validate service-checks [OPTIONS] [CHECK]

Options:

Name Type Description Default
--sync boolean Generate example configuration files based on specifications False
--help boolean Show this message and exit. False

ddev validate typos

Validate spelling in the source code.

If check is specified, only the directory is validated. Use codespell command line tool to detect spelling errors.

Usage:

ddev validate typos [OPTIONS] [CHECK]

Options:

Name Type Description Default
--fix boolean Apply suggested fix False
--help boolean Show this message and exit. False

Last update: September 15, 2023