Run a Datadog Static Analysis job in your GitHub Action workflows.

Static Analysis is in private beta. To request access, contact Support.


To use Datadog Static Analysis, you need to add a static-analysis.datadog.yml file to your repository’s root directory to specify which rulesets to use.

  - <ruleset-name>
  - <ruleset-name>

Example for Python

You can see an example for Python-based repositories:

  - python-code-style
  - python-best-practices
  - python-inclusive


Create a file in .github/workflows to run a Datadog Static Analysis job.

The following is a sample workflow file.

on: [push]

    runs-on: ubuntu-latest
    name: Datadog Static Analyzer
      - name: Checkout
        uses: actions/checkout@v3
      - name: Check code meets quality standards
        id: datadog-static-analysis
        uses: DataDog/datadog-static-analyzer-github-action@v1
          dd_app_key: ${{ secrets.DD_APP_KEY }}
          dd_api_key: ${{ secrets.DD_API_KEY }}
          dd_service: "my-service"
          dd_env: "ci"
          cpu_count: 2
          enable_performance_statistics: false

You must set your Datadog API and application keys as secrets in your GitHub repository. For more information, see API and Application Keys.


You can set the following parameters for Static Analysis.

dd_api_keyYour Datadog API key. This key is created by your Datadog organization and should be stored as a secret.Yes
dd_app_keyYour Datadog application key. This key is created by your Datadog organization and should be stored as a secret.Yes
dd_serviceThe service you want your results tagged with.Yes
dd_envThe environment you want your results tagged with. Datadog recommends using ci as the value for this input.Nonone
dd_siteThe Datadog site to send information to.Nodatadoghq.com
cpu_countSet the number of CPUs used to by the analyzer.No2
enable_performance_statisticsGet the execution time statistics for analyzed files.Nofalse
debugLets the analyzer print additional logs useful for debugging. To enable, set to yes.Nono