For the complete documentation index, see llms.txt. This page is also available as Markdown.
Cortex XSOAR 6.xCortex XSOAR 8 (SaaS)Cortex XSOAR 8.x (On-premCortex XSIAM

Demisto SDK usage and configuration

Configure and use the Demisto SDK, including content paths, logging, GitHub tokens, CLI commands, Docker, and offline environments.

Content path

The Demisto SDK is designed to work with Cortex content, structured similarly to the official Cortex content repo. We recommend running Demisto SDK commands from the content directory or any of its subfolders. To run Demisto SDK commands from other folders, you can set the DEMISTO_SDK_CONTENT_PATH environment variable.

We recommend running all Demisto SDK commands from a folder with a Git repository, or any of its subfolders. To suppress warnings about running commands outside of a content repository folder, set the DEMISTO_SDK_IGNORE_CONTENT_WARNING environment variable. If Git is not installed, or if you try to run Demisto SDK commands on a repository that is not a Git repository, the SDK will exit.

Logs

Log files are generated and stored automatically by default in the user's home directory:

  • Linux / macOS $HOME/.demisto-sdk/logs

  • Windows %USERPROFILE%\.demisto-sdk\logs

The default directory can be overridden by using the --log-file-path flag or the DEMISTO_SDK_LOG_FILE_PATH environment variable.

Use the SDK in private repositories

If you are using a private GitHub repository, some SDK functions require an interaction with Git. To use the SDK, set up your GitHub token. Generate your token on GitHub and then run: export DEMISTO_SDK_GITHUB_TOKEN=<token>.

For a private repository and an unconfigured DEMISTO_SDK_GITHUB_TOKEN environment variable, files will be fetched from the remote branch of the local repo.

CLI usage

Run SDK commands from the CLI by following this structure: demisto-sdk <command_name> <command_arguments>. If you are not sure of the available commands, run demisto-sdk -h to view a full list of available commands and a short description of each command. To view the list of arguments available for a command and their descriptions, run demisto-sdk <command_name> -h.

Run using Docker image

You can run the Demisto SDK using a docker image. For more details, see Run the Demisto SDK in a Docker container.

Version check

demisto-sdk checks against the GitHub repository releases for a new version every time it runs and issues a warning if you are not using the latest version. If you wish to skip this check you can set the environment variable: DEMISTO_SDK_SKIP_VERSION_CHECK. For example: export DEMISTO_SDK_SKIP_VERSION_CHECK=yes

Internet connection

An internet connection is required for the following commands to work properly:

  • pre-commit

  • format

  • validate

  • update-release-notes

The following commands may only work partially without an internet connection:

  • download - will fail when using the -fmt, --run-format argument

  • generate-test-playbook - cannot upload the test playbook after the generation

When working offline (or in an air-gapped environment), set the DEMISTO_SDK_OFFLINE_ENV environment variable to true: export DEMISTO_SDK_OFFLINE_ENV=TRUE. When this variable is set, Demisto SDK features requiring an internet connection will not attempt to run, saving time and avoiding errors.

License

MIT - See MIT license for more information.

XSOAR/XSIAM CI/CD

For information regarding CI/CD, see this article.

Contributions to Demisto SDK

Contributions are welcome and appreciated. For information see Contribute to Demisto SDK. The contribution guide includes information on how to set up your demisto-sdk dev environment. The development environment is connected to the branch you are currently using in the SDK repository.

Last updated

Was this helpful?