Skip to main content

DefectDojo CLI

License

A CLI wrapper for DefectDojo

Installation

Simply run:

python3 -m pip install defectdojo-cli2

This will install it as defectdojo.

Usage

defectdojo --help

Upload scans

Example:

defectdojo reimport_scan upload --product_name="test dd" --engagement_name="DefectDojoImporter" --scan_type="GitLab Container Scan" --active --verified --test_title="GitLab Container Scan" --file=gl-container-scanning.json

This wil upload a Gitlab Container Scan report to DefectDojo to the product named test dd and engagement called DefectDojoImporter and name the test GitLab Container Scan, if it exists it do a reimport on that test, if it doesn't exists, it will create a new test with that name. If you name the engagement to something that doesn't already exists, it will create a name engagement with the provided name.

Upload languages

Example:

defectdojo import_languages upload --product=21 --file=cloc.json

This will upload a language file for a project (normally generated with cloc) to the product with the id provided.

Development

poetry env use /usr/local/bin/python3 # = your full path to the Python executable.
poetry install
poetry run python3 defectdojo_cli2

Update dependencies https://github.com/MousaZeidBaker/poetry-plugin-up

poetry self add poetry-plugin-up
poetry up

Using environment variables

The goal of this cli is not only to be used as a cli tool for accessing DefectDojo API, but also to be able to run automated jobs in a CI environment, like importing scans to DefectDojo.

To use Defectdojo CLI in a CI context, there is DEFECTDOJO_ prefixed environment variables you could set. This, so you don't need to provide the arguments.

DEFECTDOJO_API_KEY
DEFECTDOJO_BRANCH_TAG
DEFECTDOJO_COMMIT_HASH
DEFECTDOJO_ENGAGEMENT_END_DATE
DEFECTDOJO_ENGAGEMENT_ID
DEFECTDOJO_ENGAGEMENT_NAME
DEFECTDOJO_LANGUAGES_FILE
DEFECTDOJO_PASSWORD
DEFECTDOJO_PRODUCT_DESCRIPTION
DEFECTDOJO_PRODUCT_ID
DEFECTDOJO_PRODUCT_NAME
DEFECTDOJO_PRODUCT_TAGS
DEFECTDOJO_PRODUCT_TYPE
DEFECTDOJO_PUSH_TO_JIRA
DEFECTDOJO_SCAN_TYPE
DEFECTDOJO_TEST_NAME
DEFECTDOJO_TEST_TITLE
DEFECTDOJO_TEST_TYPE
DEFECTDOJO_URL
DEFECTDOJO_USER_NAME

Docker images

Docker images containing defectdojo cli is published on docker hub.

Example of running defectdojo cli in GitLab Runner

To upload results of GitLab Container Scan:

defectdojo:upload:container:scanning:
  image: digitalist/defectdojo-cli2:latest
  needs:
    - job: container_scanning
      artifacts: true
  stage: .post
  variables:
    GIT_STRATEGY: none
    DEFECTDOJO_API_KEY: c1ca1f4193f2460f9f6a3dab22b723ab
    DEFECTDOJO_URL: https://defectdojo.url
    DEFECTDOJO_ENGAGEMENT_NAME: "Gitlab Runner"
    DEFECTDOJO_PRODUCT_NAME: ${CI_PROJECT_TITLE}
    DEFECTDOJO_BRANCH_TAG: ${CI_COMMIT_REF_NAME}
    DEFECTDOJO_COMMIT_HASH: ${CI_COMMIT_SHA}
    DEFECTDOJO_SCAN_TYPE: "GitLab Container Scan"
    DEFECTDOJO_TEST_TITLE: "GitLab Container Scan"
  script:
    - defectdojo reimport_scan upload --file=gl-container-scanning-report.json

To upload results of cloc (languages) to project number 42 in DefectDojo:

defectdojo:upload:cloc:
  image: digitalist/defectdojo-cli2:latest
  needs:
    - job: cloc
      artifacts: true
  variables:
    DEFECTDOJO_API_KEY: c1ca1f4193f2460f9f6a3dab22b723ab
    DEFECTDOJO_URL: https://defectdojo.url
    DEFECTDOJO_PRODUCT_ID: 42
  script:
    - defectdojo import_languages upload --file=cloc.json

Fork

This started as a fork of https://github.com/adiffpirate/defectdojo-cli.

Metadata

Release files for defectdojo-cli2 0.1.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for defectdojo-cli2 0.1.21
File Size Uploaded
defectdojo_cli2-0.1.21.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for defectdojo-cli2 0.1.21
File Interpreter ABI Platform
defectdojo_cli2-0.1.21-py3-none-any.whl Python 3 none any Details

Total release size: 57.4 kB

Release files / defectdojo_cli2-0.1.21.tar.gz

Download URL defectdojo_cli2-0.1.21.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0a825606c13517872b4bd481a351758c2a7859f5db6e1db3278d8d919c9852c4
BLAKE2b-256 checksum
How to use checksums
597e0b33aef19562f99d0886c65529c5a64ff124ca7cb02b767877c75d01c354
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.13.4 Darwin/23.6.0

Release files / defectdojo_cli2-0.1.21-py3-none-any.whl

Download URL defectdojo_cli2-0.1.21-py3-none-any.whl
Size 33.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
afab3f01b8cd2eae5d3827f492c985068430f37ef04a4f8186020e2b6029187f
BLAKE2b-256 checksum
How to use checksums
bccd5e6a56aa74c8e04ea2ee4f368690d359bf955018c6a462cdf86654f0f543
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.13.4 Darwin/23.6.0

Release history Release notifications | RSS feed

This release

0.1.21 This release

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page